Пример #1
0
        private AnimationStateSet CreateStateSet(string name)
        {
            AnimationStateSet set = new AnimationStateSet();

            set.name = name;
            AssetDatabase.AddObjectToAsset(set, this);
            AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(this));
            EditorUtility.SetDirty(this);
            AssetDatabase.SaveAssets();
            return(set);
        }
Пример #2
0
        private void Deserialize()
        {
            Debug.Log("Loading assets in " + AssetDatabase.GetAssetPath(this));
            Object[] assets = AssetDatabase.LoadAllAssetsAtPath(
                AssetDatabase.GetAssetPath(this));
            if (null != assets)
            {
                foreach (Object asset in assets)
                {
                    if (null != asset && !string.IsNullOrEmpty(asset.name))
                    {
                        switch (asset.name)
                        {
                        case c_ItemIdsName:
                            m_ItemIds = m_ItemIds ?? asset as AnimationStateSet;
                            break;

                        case c_ItemStateIndexesName:
                            m_ItemStateIndexes = m_ItemStateIndexes ?? asset as AnimationStateSet;
                            break;

                        case c_AbilityIndexesName:
                            m_AbilityIndexes = m_AbilityIndexes ?? asset as AnimationStateSet;
                            break;
                        }
                    }
                }
            }

            if (m_ItemIds == null)
            {
                m_ItemIds = CreateStateSet(c_ItemIdsName);
            }

            if (m_ItemStateIndexes == null)
            {
                m_ItemStateIndexes = CreateStateSet(c_ItemStateIndexesName);
            }

            if (m_AbilityIndexes == null)
            {
                m_AbilityIndexes = CreateStateSet(c_AbilityIndexesName);
            }

            Debug.Log("Item id count: " + m_ItemIds.AnimationStates.Length);
        }