#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