コード例 #1
0
        private void LoadSummon(UnitAnimatorEvent uae, int skillId, int modelId)
        {
            UnitSkillsProto.UnitSkill skillData = controller.GetUnitSkillData(skillId);
            //3 summon
            if (skillData.CarrierType == 3)
            {
                SummonProto.Summon summonData = controller.GetSummonData(skillData.CarrierID);

                if (summonData.Show_summon_time == 0)
                {
                    return;
                }

                curShowSummonData         = new ShowSummonData();
                curShowSummonData.modelId = modelId;
                curShowSummonData.canShow = false;

                string[] pos = summonData.Show_summon_pos.Split('|');
                if (pos.Length != 3)
                {
                    DebugUtils.LogError(DebugUtils.Type.UI, "unit show summon postion err! pos:" + summonData.Show_summon_pos);
                }
                else
                {
                    curShowSummonData.pos = new Vector3(float.Parse(pos[0]), float.Parse(pos[1]), float.Parse(pos[2]));
                }

                DataManager.GetInstance().AddMainMenuCacheId(summonData.Show_model_id);

                loadManager.LoadAssetAsync <GameObject, int>(summonData.Show_model_id, LoadSummonComplete, modelId);
                uae.AddEvent(summonData.Show_summon_time, modelId.ToString(), ShowSummonTime);
            }
        }
コード例 #2
0
        public override void OnExit(bool isGoBack)
        {
            base.OnExit(isGoBack);

            if (goUnitParent != null)
            {
                GameObject.Destroy(goUnitParent);
                goUnitParent = null;
            }
            shakeCamera = null;
            DestroyShowModel();
            curUnitData           = null;
            curShowSummonData     = null;
            goUnitModelGameObject = null;
            controller.PostShowMainBackground(true);
        }