axmol/extensions/fairygui/GLoader3D.h

111 lines
3.0 KiB
C
Raw Normal View History

2020-08-04 12:31:33 +08:00
#ifndef __GLOADER3D_H__
#define __GLOADER3D_H__
#include "cocos2d.h"
#include "FairyGUIMacros.h"
#include "GObject.h"
NS_FGUI_BEGIN
class GComponent;
class FUIContainer;
class GLoader3D : public GObject
{
public:
GLoader3D();
virtual ~GLoader3D();
CREATE_FUNC(GLoader3D);
const std::string& getURL() const { return _url; }
void setURL(const std::string& value);
virtual const std::string& getIcon() const override { return _url; }
virtual void setIcon(const std::string& value) override { setURL(value); }
cocos2d::TextHAlignment getAlign() const { return _align; }
void setAlign(cocos2d::TextHAlignment value);
cocos2d::TextVAlignment getVerticalAlign() const { return _verticalAlign; }
void setVerticalAlign(cocos2d::TextVAlignment value);
bool getAutoSize() const { return _autoSize; }
void setAutoSize(bool value);
LoaderFillType getFill() const { return _fill; }
void setFill(LoaderFillType value);
bool isShrinkOnly() const { return _shrinkOnly; }
void setShrinkOnly(bool value);
const cocos2d::Node* getContent() { return _content; }
void setContent(cocos2d::Node* value);
cocos2d::Color3B getColor() const;
void setColor(const cocos2d::Color3B& value);
bool isPlaying() const { return _playing; }
void setPlaying(bool value);
int getFrame() const;
void setFrame(int value);
const std::string& getAnimationName() const { return _animationName; }
void setAnimationName(const std::string& value);
const std::string& getSkinName() const { return _skinName; }
void setSkinName(const std::string& value);
bool getLoop() const { return _loop; }
void setLoop(bool value);
virtual cocos2d::Value getProp(ObjectPropID propId) override;
virtual void setProp(ObjectPropID propId, const cocos2d::Value& value) override;
protected:
virtual void handleInit() override;
virtual void handleSizeChanged() override;
virtual void handleGrayedChanged() override;
virtual void setup_beforeAdd(ByteBuffer* buffer, int beginPos) override;
virtual GObject* hitTest(const cocos2d::Vec2 & worldPoint, const cocos2d::Camera * camera) override;
virtual void loadExternal();
virtual void freeExternal(cocos2d::SpriteFrame* spriteFrame);
void onExternalLoadSuccess(cocos2d::SpriteFrame* spriteFrame);
void onExternalLoadFailed();
void onChange();
void onChangeSpine();
private:
void loadContent();
void loadFromPackage();
void clearContent();
void updateLayout();
void setErrorState();
void clearErrorState();
std::string _url;
cocos2d::TextHAlignment _align;
cocos2d::TextVAlignment _verticalAlign;
bool _autoSize;
LoaderFillType _fill;
bool _shrinkOnly;
bool _updatingLayout;
PackageItem* _contentItem;
bool _playing;
int _frame;
bool _loop;
std::string _animationName;
std::string _skinName;
cocos2d::Color3B _color;
FUIContainer* _container;
cocos2d::Node* _content;
};
NS_FGUI_END
#endif