少年修仙传客户端代码仓库
client_linchunjie
2018-10-18 f93c57bfd57f97e78c3a00a29f302f5e8c83cdee
UI/Common/UI3DModelFactory.cs
@@ -82,9 +82,37 @@
        var animator = model.GetComponent<Animator>();
        if (animator != null)
        {
            var suffix = AnimatorControllerLoader.controllerUISuffix;
            var animatorController = AnimatorControllerLoader.LoadMobController(suffix, config.MODE);
            if (animatorController != null)
            {
                animator.runtimeAnimatorController = animatorController;
            }
            var isDance = false;
            if (config.NPCType == (int)E_NpcType.Func)
            {
                var clipInfos = animator.runtimeAnimatorController.animationClips;
                foreach (var item in clipInfos)
                {
                    if (item.name == "Idle2")
                    {
                        isDance = true;
                        break;
                    }
                }
            }
            animator.enabled = true;
            animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_Idle);
            animator.Play(GAStaticDefine.State_IdleHash);
            if (isDance)
            {
                animator.Play(GAStaticDefine.State_Dance);
            }
            else
            {
                animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_Idle);
                animator.Play(GAStaticDefine.State_IdleHash);
            }
        }
        LayerUtility.SetLayer(model, LayerUtility.Monster, true);
@@ -96,16 +124,13 @@
        var animator = model.GetComponent<Animator>();
        if (animator != null)
        {
            var npcConfig = Config.Instance.Get<NPCConfig>(id);
            if (npcConfig != null)
            {
                var runtimeController = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, npcConfig.MODE);
                if (runtimeController != null)
                {
                    animator.runtimeAnimatorController = runtimeController;
                }
            }
            ResetRealmBossAnimator(id, animator);
            animator.enabled = false;
        }
        if (model)
        {
            model.transform.localScale = Vector3.one;
        }
        var prefab = InstanceResourcesLoader.LoadNpcPrefab(id);
@@ -119,9 +144,30 @@
        }
    }
    private static void ResetRealmBossAnimator(int _id, Animator animator)
    {
        var configs = Config.Instance.GetAllValues<RealmConfig>();
        var index = configs.FindIndex((x) =>
        {
            return x.BossID == _id;
        });
        if (index != -1)
        {
            var npcConfig = Config.Instance.Get<NPCConfig>(_id);
            if (npcConfig != null)
            {
                var runtimeController = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, npcConfig.MODE);
                if (runtimeController != null)
                {
                    animator.runtimeAnimatorController = runtimeController;
                }
            }
        }
    }
    public static GameObject LoadUIHorse(int id)
    {
        var prefab = InstanceResourcesLoader.LoadModelRes(id);
        var prefab = InstanceResourcesLoader.LoadModelRes(id, true);
        if (prefab == null)
        {
            return null;
@@ -133,6 +179,14 @@
        var animator = model.GetComponent<Animator>();
        if (animator != null)
        {
            var config = Config.Instance.Get<ModelResConfig>(id);
            var suffix = AnimatorControllerLoader.controllerUISuffix;
            var animatorController = AnimatorControllerLoader.LoadMobController(suffix, config.ResourcesName);
            if (animatorController != null)
            {
                animator.runtimeAnimatorController = animatorController;
            }
            animator.enabled = true;
            animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_Idle);
            animator.Play(GAStaticDefine.State_IdleHash);
@@ -143,7 +197,7 @@
    public static void ReleaseUIHourse(int id, GameObject model)
    {
        var prefab = InstanceResourcesLoader.LoadModelRes(id);
        var prefab = InstanceResourcesLoader.LoadModelRes(id, true);
        var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
        var animator = model.GetComponent<Animator>();
@@ -230,7 +284,7 @@
    public static GameObject LoadUIGodWeapon(int _type)
    {
        var prefab = UILoader.LoadPrefab(GeneralConfig.Instance.godWeaponMobs[_type]);
        var prefab = UILoader.LoadPrefab(GeneralDefine.godWeaponMobs[_type]);
        var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
        var model = pool.Request();
@@ -250,11 +304,11 @@
        {
            return;
        }
        if (!GeneralConfig.Instance.godWeaponMobs.ContainsKey(_type))
        if (!GeneralDefine.godWeaponMobs.ContainsKey(_type))
        {
            return;
        }
        var prefab = UILoader.LoadPrefab(GeneralConfig.Instance.godWeaponMobs[_type]);
        var prefab = UILoader.LoadPrefab(GeneralDefine.godWeaponMobs[_type]);
        var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
        var animator = _model.GetComponent<Animator>();
@@ -269,7 +323,7 @@
    public static GameObject LoadUIWing(int _id)
    {
        var prefab = InstanceResourcesLoader.LoadModelRes(_id);
        var prefab = InstanceResourcesLoader.LoadModelRes(_id, true);
        if (prefab == null)
        {
            return null;
@@ -287,7 +341,7 @@
    public static void ReleaseUIWing(int _id, GameObject _model)
    {
        var prefab = InstanceResourcesLoader.LoadModelRes(_id);
        var prefab = InstanceResourcesLoader.LoadModelRes(_id, true);
        var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
        var animator = _model.GetComponent<Animator>();
        if (animator != null)