Пример #1
0
        /// <summary>
        /// Clear all information about objects in animation.
        /// <para />Moves animation to not initialized state.
        /// </summary>
        /// <param name="destroyChildren">Destroy game objects from scene.</param>
        public override void clear(bool destroyChildren)
        {
            if (on_clear != null)
            {
                on_clear(this);
            }

            if (m_ObjectsManager == null)
            {
                m_ObjectsManager = GetComponent <ObjectsManagerType>();
            }

            if (destroyChildren)
            {
                m_ObjectsManager.deepClear();
            }
            else
            {
                m_ObjectsManager.clear();
            }

            cleanView();

            isInitialized = false;
            asset         = null;
            resource      = null;
            settings      = new GAFAnimationPlayerSettings();

            internalFrameNumber = getFrames().Keys.First();
        }
Пример #2
0
    private void upgrade()
    {
        GAFAnimationAsset _asset             = asset;
        int _timelineID                      = timelineID;
        GAFAnimationPlayerSettings _settings = settings;
        int _sequenceIndex                   = m_SequenceIndex;
        int _currentFrameNumber              = m_CurrentFrameNumber;

        bool destroyChildren = m_Version == 0;

        clear(destroyChildren);

        m_Settings           = _settings;
        m_SequenceIndex      = _sequenceIndex;
        m_CurrentFrameNumber = _currentFrameNumber;

        init(_asset, _timelineID);
    }
Пример #3
0
        /// <summary>
        /// Clear all information about objects in animation.
        /// <para />Moves animation to not initialized state.
        /// </summary>
        /// <param name="destroyChildren">Destroy game objects from scene.</param>
        public override void clear(bool destroyChildren)
        {
            var frames = getFrames();

            if (frames != null)
            {
                internalFrameNumber = frames != null?frames.Keys.First() : 1;
            }

            if (on_clear != null)
            {
                on_clear(this);
            }

            if (m_ObjectsManager == null)
            {
                m_ObjectsManager = GetComponent <ObjectsManagerType>();
            }

            if (destroyChildren)
            {
                m_ObjectsManager.deepClear();
            }
            else
            {
                m_ObjectsManager.clear();
            }

            cleanView();

            isInitialized = false;
            //asset.dropLoadedTexturesReferences();
            asset    = null;
            resource = null;
            settings = new GAFAnimationPlayerSettings();

            m_SequenceIndex = 0;
            m_Stopwatch     = 0.0f;

            Resources.UnloadUnusedAssets();
        }
Пример #4
0
    public void clear(bool destroyChildren = false)
    {
        if (on_clear != null)
        {
            on_clear(this);
        }

        if (destroyChildren)
        {
            List <GameObject> children = new List <GameObject>();
            foreach (Transform child in transform)
            {
                children.Add(child.gameObject);
            }

            children.ForEach(delegate(GameObject child)
            {
                if (Application.isPlaying)
                {
                    Destroy(child);
                }
                else
                {
                    DestroyImmediate(child, true);
                }
            });
        }
        else
        {
            foreach (var obj in m_Objects)
            {
                if (Application.isPlaying)
                {
                    Destroy(obj);
                }
                else
                {
                    DestroyImmediate(obj, true);
                }
            }
        }

        if (m_ObjectsDict != null)
        {
            m_ObjectsDict.Clear();
            m_ObjectsDict = null;
        }

        if (m_MaskedObjectsDict != null)
        {
            m_MaskedObjectsDict.Clear();
            m_MaskedObjectsDict = null;
        }

        if (m_MasksDict != null)
        {
            m_MasksDict.Clear();
            m_MasksDict = null;
        }

        m_Objects.Clear();
        m_MaskedObjects.Clear();
        m_Masks.Clear();
        m_FrameEvents.Clear();

        m_GAFAsset           = null;
        m_Resource           = null;
        m_Settings           = new GAFAnimationPlayerSettings();
        m_SequenceIndex      = 0;
        m_CurrentFrameNumber = 1;
        m_Stopwatch          = 0.0f;

        m_IsInitialized = false;
    }