Esempio n. 1
0
        void OnDestroy()
        {
            ClearAnimations();

            if (addToMasterList && ZT_SpriteMaster.instance != null)
            {
                ZT_SpriteMaster.RemoveSpriteAnim(name);
            }
        }
Esempio n. 2
0
        public void Initialize()
        {
            if (addToMasterList)
            {
                ZT_SpriteMaster.AddSpriteAnim(this);
            }

            //Set Sprite Component
            if (useUnityUiImage && uiImage == null)
            {
                uiImage = GetComponent <Image>();
            }
            else if (sp == null)
            {
                sp = GetComponent <ZT_Sprite>();
            }

            //if no animations are on this object try to load from resources
            if (loadAnimations == null || loadAnimations.Length == 0)
            {
                loadAnimations = Resources.LoadAll <ZT_SpriteAnimation>(ResourcesDir);
            }

            if (loadAnimations == null)
            {
                return;
            }

            //load each animation. We use the loadAnimations array so we can set in the inspector
            foreach (ZT_SpriteAnimation anim in loadAnimations)
            {
                LoadAnimation(anim);
            }

            //release loadanimations array from memory
            System.Array.Clear(loadAnimations, 0, loadAnimations.Length);
            loadAnimations = null;

            initialized = true;
        }
Esempio n. 3
0
        /**
         * Static Creation
         **/

        /// <summary>
        /// warning a sprite gameobject must already exist
        /// </summary>
        public static ZT_SpriteAnimator CreateSpriteAnimator(GameObject spriteGameObject, string overrideAnimName, bool setToInitializeOnLoad)
        {
            ZT_SpriteAnimator returnAnimObj;

            if (!Application.isEditor)
            {
                returnAnimObj = ZT_SpriteMaster.GetSpriteAnim(spriteGameObject.name);
                if (returnAnimObj != null)
                {
                    return(returnAnimObj);
                }
            }

            returnAnimObj = spriteGameObject.AddComponent <ZT_SpriteAnimator>();
            returnAnimObj.initializeOnAwake = setToInitializeOnLoad;

            if (!Application.isEditor && setToInitializeOnLoad)
            {
                returnAnimObj.Initialize();
            }

            return(returnAnimObj);
        }