少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-15 d597f340f934866e69a460bacb954a1b38057742
4792 (只在master)原随包的配置全部支持热更新。
22个文件已修改
1个文件已添加
219 ■■■■■ 已修改文件
Core/Camera/CameraController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ClientPack.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/ResModule/BuiltInLoader.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/Skill/XRayShadow.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/TestPlayerController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Hero.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorFight.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorPlayerBase.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/PreFightMission.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/StageManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ClientVersion/VersionConfig.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/WindowPosCnfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Sound/SoundPlayer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/EnableButtonConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/FunctionButtonConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/PriorityWindowConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/ActorShadowCaster.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/Constants.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/MaterialUtility.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/Camera/CameraController.cs
@@ -94,7 +94,7 @@
    public void PlayAnimationClip(string name)
    {
        AnimationClip _clip = Resources.Load<AnimationClip>("AnimationCurve/" + name);
        AnimationClip _clip = BuiltInLoader.LoadAnimationClip(name);
        if (_clip != null)
        {
            IsPlayingAnim = true;
Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -557,6 +557,7 @@
            BuiltInResourceSetting.SetLaunchBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
            BuiltInResourceSetting.SetLoginBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
            BuiltInResourceSetting.SetLoginLogo(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
            UpdateBuiltInSetting.SetAllLuaAssetBundleName();
            ExcuteBuildAsset("builtin");
        }
Core/GameEngine/Login/Launch.cs
@@ -58,12 +58,19 @@
        {
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.7z");
            SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/music.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/music.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/musics.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/musics.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/prefabs.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprite.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprites.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/sprites.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/animationclips.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/animationclips.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/materials.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/materials.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/scriptableobjects.7z");
            SDKUtility.Instance.CopyOneAsset("builtin/scriptableobjects.manifest.7z");
            SDKUtility.Instance.CopyOneAsset("config/Contact.txt.7z");
            SDKUtility.Instance.CopyOneAsset("config/HelpInfo.txt.7z");
            SDKUtility.Instance.CopyOneAsset("config/PriorBundle.txt.7z");
Core/GameEngine/Model/ConfigManager.cs
@@ -15,8 +15,7 @@
    bool isPlaying = true;
    bool m_Inited = false;
    public bool inited
    {
    public bool inited {
        get { return m_Inited; }
        private set { m_Inited = value; }
    }
@@ -31,22 +30,22 @@
    public void LoadPriorBundleConfig()
    {
        StartSyncTask<PriorBundleConfig>(AssetPath.Resource);
        StartSyncTask<PriorBundleConfig>();
    }
    public void PreLoadConfigs()
    {
        StartSyncTask<PriorBundleConfig>(AssetPath.Resource);
        StartSyncTask<PriorLanguageConfig>(AssetPath.Resource);
        StartSyncTask<ContactConfig>(AssetPath.Resource);
        StartSyncTask<HelpInfoConfig>(AssetPath.Resource);
        StartSyncTask<PriorBundleConfig>();
        StartSyncTask<PriorLanguageConfig>();
        StartSyncTask<ContactConfig>();
        StartSyncTask<HelpInfoConfig>();
    }
    List<ConfigTask> configTasks = new List<ConfigTask>();
    public IEnumerator Co_LoadConfigs()
    {
        StartSyncTask<LoginSeverListConfig>(AssetSource.refdataFromEditor ? AssetPath.ResourceOut : AssetPath.External);
        StartSyncTask<LoginSeverListConfig>();
        AddAsyncTask<IconConfig>();
        AddAsyncTask<ItemConfig>();
        AddAsyncTask<SkillConfig>();
@@ -255,13 +254,13 @@
    public void SyncLoadConfigs()
    {
        StartSyncTask<NPCConfig>(AssetPath.ResourceOut);
        StartSyncTask<ModelResConfig>(AssetPath.ResourceOut);
        StartSyncTask<ActorShowConfig>(AssetPath.ResourceOut);
        StartSyncTask<IconConfig>(AssetPath.ResourceOut);
        StartSyncTask<SysInfoConfig>(AssetPath.ResourceOut);
        StartSyncTask<LanguageConfig>(AssetPath.ResourceOut);
        StartSyncTask<RealmConfig>(AssetPath.ResourceOut);
        StartSyncTask<NPCConfig>();
        StartSyncTask<ModelResConfig>();
        StartSyncTask<ActorShowConfig>();
        StartSyncTask<IconConfig>();
        StartSyncTask<SysInfoConfig>();
        StartSyncTask<LanguageConfig>();
        StartSyncTask<RealmConfig>();
    }
    public bool AllCompleted()
@@ -392,7 +391,7 @@
            path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
        }
        var task = new ConfigTask(typeof(T), AssetSource.refdataFromEditor ? AssetPath.ResourceOut : AssetPath.External, path);
        var task = new ConfigTask(typeof(T), path);
        Action<ConfigTask> launch = (ConfigTask _task) => { ReadFile(_task, OnEndReadFile<T>); };
        task.launch = launch;
        configTasks.Add(task);
@@ -517,43 +516,26 @@
        }
    }
    private void StartSyncTask<T>(AssetPath _assetPath) where T : ConfigBase, new()
    private void StartSyncTask<T>() where T : ConfigBase, new()
    {
        var typeName = typeof(T).Name;
        var fileName = typeName.Substring(0, typeName.Length - 6);
        string[] lines = null;
        var path = string.Empty;
        switch (_assetPath)
        if (AssetSource.refdataFromEditor)
        {
            case AssetPath.Resource:
                path = AssetVersionUtility.GetBuiltInAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
                if (File.Exists(path))
                {
                    lines = File.ReadAllLines(path, Encoding.UTF8);
                }
                else
                {
                    path = StringUtility.Contact("Config/", fileName);
                    var textAsset = Resources.Load<TextAsset>(path);
                    lines = textAsset.text.Split(new string[] { "\r\n" }, StringSplitOptions.None);
                }
                break;
            case AssetPath.ResourceOut:
                path = StringUtility.Contact(ResourcesPath.CONFIG_FODLER, "/", fileName, ".txt");
                lines = File.ReadAllLines(path, Encoding.UTF8);
                break;
            case AssetPath.External:
                path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
                lines = File.ReadAllLines(path, Encoding.UTF8);
                break;
            path = ResourcesPath.CONFIG_FODLER + "/" + fileName + ".txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
        }
        var task = new ConfigTask(typeof(T), _assetPath, path);
        task.contentLines = lines;
        if (lines != null && lines.Length > 3)
        var task = new ConfigTask(typeof(T), path);
        task.contentLines = File.ReadAllLines(path, Encoding.UTF8);
        if (task.contentLines != null && task.contentLines.Length > 3)
        {
            var length = Mathf.Max(lines.Length - 3, 0);
            var length = Mathf.Max(task.contentLines.Length - 3, 0);
            task.capacity = length;
            task.container = new Dictionary<string, ConfigBase>(length);
            task.state = TaskState.ReadFileSuccess;
@@ -711,7 +693,6 @@
        public readonly Type type;
        public readonly int token;
        public readonly string taskName;
        public readonly AssetPath assetPath;
        public readonly string filePath;
        public Action<ConfigTask> launch;
@@ -720,10 +701,9 @@
        public Dictionary<string, ConfigBase> container;
        public TaskState state = TaskState.None;
        public ConfigTask(Type _type, AssetPath _assetPath, string _filePath)
        public ConfigTask(Type _type, string _filePath)
        {
            type = _type;
            assetPath = _assetPath;
            taskName = type.Name;
            token = type.MetadataToken;
Core/NetworkPackage/DTCFile/ClientPack.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 722e5e3d30096674e811f5bd191246a0
folderAsset: yes
timeCreated: 1539228128
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -164,7 +164,7 @@
        // 初始化摄像机
        if (!CameraController.Instance)
        {
            UnityEngine.Object.Instantiate(Resources.Load<GameObject>("Prefabs/GameCamera"));
            UnityEngine.Object.Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
            CameraController.Instance.AcceptInput = false;
            CameraController.Instance.CameraObject.enabled = false;
            CameraController.Instance.QualityLevelChanged();
Core/ResModule/BuiltInLoader.cs
@@ -14,13 +14,13 @@
        if (AssetSource.builtInFromEditor)
        {
#if UNITY_EDITOR
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/UI/Sprites/", name, SPRITE_EXTENSION);
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Sprites/", name, SPRITE_EXTENSION);
            sprite = UnityEditor.AssetDatabase.LoadAssetAtPath<Sprite>(path);
#endif
        }
        else
        {
            var assetInfo = new AssetInfo("builtin/sprite", name);
            var assetInfo = new AssetInfo("builtin/sprites", name);
            sprite = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(Sprite)) as Sprite;
        }
@@ -38,7 +38,7 @@
        if (AssetSource.builtInFromEditor)
        {
#if UNITY_EDITOR
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/UI/Prefabs/", name, PREFAB_EXTENSION);
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Prefabs/", name, PREFAB_EXTENSION);
            prefab = UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>(path);
#endif
        }
@@ -70,13 +70,13 @@
        if (AssetSource.builtInFromEditor)
        {
#if UNITY_EDITOR
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Music/", name, AUDIO_EXTENSION);
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Musics/", name, AUDIO_EXTENSION);
            audioClip = UnityEditor.AssetDatabase.LoadAssetAtPath<AudioClip>(path);
#endif
        }
        else
        {
            var assetInfo = new AssetInfo("builtin/music", name);
            var assetInfo = new AssetInfo("builtin/musics", name);
            audioClip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AudioClip;
        }
@@ -88,6 +88,54 @@
        return audioClip;
    }
    public static AnimationClip LoadAnimationClip(string name)
    {
        AnimationClip clip = null;
        if (AssetSource.builtInFromEditor)
        {
#if UNITY_EDITOR
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/AnimationClips/", name, ".anim");
            clip = UnityEditor.AssetDatabase.LoadAssetAtPath<AnimationClip>(path);
#endif
        }
        else
        {
            var assetInfo = new AssetInfo("builtin/animationclips", name);
            clip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AnimationClip;
        }
        if (clip == null)
        {
            DebugEx.LogErrorFormat("BuiltInLoader.LoadAnimationClip() => 加载不到资源: {0}.", name);
        }
        return clip;
    }
    public static Material LoadMaterial(string name)
    {
        Material material = null;
        if (AssetSource.builtInFromEditor)
        {
#if UNITY_EDITOR
            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Materials/", name, ".mat");
            material = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>(path);
#endif
        }
        else
        {
            var assetInfo = new AssetInfo("builtin/materials", name);
            material = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as Material;
        }
        if (material == null)
        {
            DebugEx.LogErrorFormat("BuiltInLoader.LoadMaterial() => 加载不到资源: {0}.", name);
        }
        return material;
    }
    public static T LoadScriptableObject<T>(string name) where T : ScriptableObject
    {
@@ -96,14 +144,14 @@
        {
#if UNITY_EDITOR
            var resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
                                                   "BuiltIn/ScriptableObject/", name, ".asset");
                                                   "BuiltIn/ScriptableObjects/", name, ".asset");
            config = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(resourcePath);
#endif
        }
        else
        {
            var assetInfo = new AssetInfo("builtin/scriptableobject", name);
            var assetInfo = new AssetInfo("builtin/scriptableobjects", name);
            config = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as T;
        }
Fight/Actor/Skill/XRayShadow.cs
@@ -27,7 +27,7 @@
        _filter.mesh = _mesh;
        MeshRenderer _renderer = _xayShadow.AddComponent<MeshRenderer>();
        _renderer.material = Resources.Load<Material>("Material/XRay");
        _renderer.material = BuiltInLoader.LoadMaterial("XRay");
        _xayShadow.transform.localScale = requester.transform.localScale;
        _xayShadow.transform.position = requester.transform.position;
Fight/Actor/TestPlayerController.cs
@@ -22,7 +22,7 @@
    {
        if (CameraController.Instance == null)
        {
            Instantiate(Resources.Load<GameObject>("Prefabs/GameCamera"));
            Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
        }
        CameraController.Instance.SetLookTarget(transform);
@@ -31,7 +31,7 @@
        m_Animator = gameObject.AddMissingComponent<Animator>();
        SystemSetting.Instance.SetQualityLevel(GameQuality.High);
        var shadowPrefab = Resources.Load<GameObject>("Prefabs/ActorShadowCaster");
        var shadowPrefab = BuiltInLoader.LoadPrefab("ActorShadowCaster");
        var shadowCaster = Instantiate(shadowPrefab).GetComponent<ActorShadowCaster>();
        if (shadowCaster != null)
Fight/GameActor/GA_Hero.cs
@@ -582,7 +582,7 @@
        ReleaseLight();
        if (PlayerDatas.Instance.baseData.MapID == 31160)
        {
            m_Light = Object.Instantiate(Resources.Load<GameObject>("Prefabs/Zhujiao_Pointlight"));
            m_Light = Object.Instantiate(BuiltInLoader.LoadPrefab("Zhujiao_Pointlight"));
            m_Light.transform.SetParent(MP_Name);
            m_Light.transform.localPosition = Vector3.zero;
            m_Light.transform.localScale = Vector3.one;
Fight/GameActor/GActorFight.cs
@@ -74,7 +74,7 @@
        m_SkillManager = new SkillManager(ServerInstID);
        // 创建音源
        GameObject _audioSourceNode = Object.Instantiate(Resources.Load<GameObject>("Prefabs/AudioSource3D")) as GameObject;
        GameObject _audioSourceNode = Object.Instantiate(BuiltInLoader.LoadPrefab("AudioSource3D")) as GameObject;
#if UNITY_EDITOR
        _audioSourceNode.name = "AudioSource";
#endif
Fight/GameActor/GActorPlayerBase.cs
@@ -2050,8 +2050,6 @@
            m_ClothesAnimator.Play(GAStaticDefine.State_SitDown);
        }
        GameObject _prefab = Resources.Load<GameObject>("Prefabs/PT_FS");
        ShowOrHideWeapon(false);
    }
Fight/PreFightMission.cs
@@ -986,7 +986,7 @@
    private void RefreshRockNPC()
    {
        EarlyStageFirstWaveRock _data = Resources.Load<EarlyStageFirstWaveRock>("ScriptableObject/Config/EarlyStageFirstWaveRock");
        var _data = BuiltInLoader.LoadScriptableObject<EarlyStageFirstWaveRock>("EarlyStageFirstWaveRock");
        if (!_data)
        {
            return;
Fight/Stage/StageManager.cs
@@ -446,7 +446,7 @@
        // 初始化摄像机
        if (!CameraController.Instance)
        {
            UnityEngine.Object.Instantiate(Resources.Load<GameObject>("Prefabs/GameCamera"));
            UnityEngine.Object.Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
            CameraController.Instance.AcceptInput = false;
            CameraController.Instance.CameraObject.enabled = false;
        }
System/ClientVersion/VersionConfig.cs
@@ -10,7 +10,7 @@
[CreateAssetMenu(menuName = "Config/VersionConfig")]
public class VersionConfig : ScriptableObject
{
    public const string VERSION_ALTERNATIVE = "0.0.0";
    public const string VERSION_ALTERNATIVE = "1.2.0";
    [SerializeField] public string m_AppId = string.Empty;
    public string appId { get { return m_AppId; } }
@@ -133,7 +133,7 @@
    [ContextMenu("Apply")]
    public void Apply()
    {
        var newVersionConfigPath = StringUtility.Contact("Assets/Resources/ScriptableObject/Config/VersionConfig", ".asset");
        var newVersionConfigPath = "Assets/Resources/VersionConfig.asset";
        var fromVersionConfig = this;
        var newVersionConfig = ScriptableObject.CreateInstance<VersionConfig>();
@@ -154,7 +154,7 @@
    {
        if (config == null)
        {
            config = Resources.Load<VersionConfig>("ScriptableObject/Config/VersionConfig");
            config = Resources.Load<VersionConfig>("VersionConfig");
        }
        return config;
System/KnapSack/Logic/WindowPosCnfig.cs
@@ -14,7 +14,7 @@
    {
        if (config == null)
        {
            config = Resources.Load<WindowPosCnfig>("ScriptableObject/Config/WindowPosConfig");
            config = BuiltInLoader.LoadScriptableObject<WindowPosCnfig>("WindowPosConfig");
        }
        return config;
System/Sound/SoundPlayer.cs
@@ -45,7 +45,7 @@
    public static void CreateSoundPlayer()
    {
        var gameObject = GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/SoundPlayer"));
        var gameObject = GameObject.Instantiate(BuiltInLoader.LoadPrefab("SoundPlayer"));
        Instance = gameObject.GetComponent<SoundPlayer>();
        Instance.name = "SoundPlayer";
        Instance.gameObject.SetActive(true);
UI/Common/EnableButtonConfig.cs
@@ -31,7 +31,7 @@
        {
            return dict[_type];
        }
        var _cfg= Resources.Load<EnableButtonConfig>(StringUtility.Contact("ScriptableObject/Config/EnableButton_", _type));
        var _cfg= BuiltInLoader.LoadScriptableObject<EnableButtonConfig>(StringUtility.Contact("EnableButton_", _type));
        dict.Add(_type, _cfg);
        return _cfg;
    }
UI/Common/FunctionButtonConfig.cs
@@ -15,7 +15,7 @@
    {
        if (m_Default == null)
        {
            m_Default = Resources.Load<FunctionButtonConfig>("ScriptableObject/Config/FunctionButton_Default");
            m_Default = BuiltInLoader.LoadScriptableObject<FunctionButtonConfig>("FunctionButton_Default");
        }
        return m_Default;
UI/Common/PriorityWindowConfig.cs
@@ -12,7 +12,7 @@
    {
        if (config == null)
        {
            config = Resources.Load<PriorityWindowConfig>("ScriptableObject/Config/PriorityWindowConfig");
            config = BuiltInLoader.LoadScriptableObject<PriorityWindowConfig>("PriorityWindowConfig");
        }
        return config;
Utility/ActorShadowCaster.cs
@@ -90,7 +90,7 @@
        {
            if (pool == null)
            {
                var prefab = Resources.Load<GameObject>("Prefabs/ActorShadowCaster");
                var prefab = BuiltInLoader.LoadPrefab("ActorShadowCaster");
                if (prefab != null)
                {
                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
Utility/Constants.cs
@@ -44,8 +44,8 @@
    public static int UnUsedRes_Unload_Delay = 300;
    public static AnimationCurveConfig deadAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_DeadFly");
    public static AnimationCurveConfig hurtAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_HurtFlash");
    public static AnimationCurveConfig zoomAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_Zoom");
    public static AnimationCurveConfig shakeAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_Shake");
    public static AnimationCurveConfig deadAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_DeadFly");
    public static AnimationCurveConfig hurtAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_HurtFlash");
    public static AnimationCurveConfig zoomAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_Zoom");
    public static AnimationCurveConfig shakeAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_Shake");
}
Utility/MaterialUtility.cs
@@ -7,7 +7,7 @@
    public static Material GetDefaultSpriteGrayMaterial()
    {
        return Resources.Load<Material>("Material/SpriteGray");
        return BuiltInLoader.LoadMaterial("SpriteGray");
    }
    public static Material GetInstantiatedSpriteGrayMaterial()
@@ -18,12 +18,12 @@
    public static Material GetSmoothMaskGrayMaterial()
    {
        return Resources.Load<Material>("Material/SmoothMaskGray");
        return BuiltInLoader.LoadMaterial("SmoothMaskGray");
    }
    public static Material GetInstantiatedSpriteTwinkleMaterial()
    {
        var material = Resources.Load<Material>("Material/Flash");
        var material = BuiltInLoader.LoadMaterial("Flash");
        return new Material(material);
    }
@@ -34,12 +34,12 @@
    public static Material GetUIBlurMaterial()
    {
        return Resources.Load<Material>("Material/GUIBlurMaterial");
        return BuiltInLoader.LoadMaterial("GUIBlurMaterial");
    }
    public static Material GetGUIRenderTextureMaterial()
    {
        return Resources.Load<Material>("Material/UI_RenderTexture");
        return BuiltInLoader.LoadMaterial("UI_RenderTexture");
    }
    public static void SetRenderSortingOrder(this GameObject root, int sortingOrder, bool includeChildren)
@@ -76,7 +76,7 @@
        get {
            if (m_HudMaterial == null)
            {
                m_HudMaterial = Resources.Load<Material>("Material/HUD_HeadupName");
                m_HudMaterial = BuiltInLoader.LoadMaterial("HUD_HeadupName");
                m_HudMaterial.SetTexture("_Tex1", FontUtility.preferred.material.mainTexture);
            }
            return m_HudMaterial;