override public bool Init(ObjectInitParam param) { if (!base.Init(param)) { return(false); } mHomePosition.x = mPosition.x; mHomePosition.y = mPosition.y; mHomePosition.z = mPosition.z; mProperty = new RoleProperty(); mActionCenter = new BattleUnitActionCenter(this); mSkillContainer = new BattleUnitSkillContainer(); mSkillEffectManager = new SkillEffectManager(this); mActiveFlagsContainer = new ActiveFlagsContainer(); mRandEventContainer = new BattleUnitRandEventContainer(); mHitMaterialEffectCdContainer = new HitMaterialEffectCdContainer(); // 默认透明度为100. SetBaseProperty((int)PropertyTypeEnum.PropertyTypeAlpha, 100); // 默认硬直抗性为100. SetBaseProperty((int)PropertyTypeEnum.PropertyTypeSpasticityResistance, 100); SetBaseProperty((int)PropertyTypeEnum.PropertyTypeScale_Rate, 100); return(true); }
override public void Destroy() { if (mBattleUintAI != null) { mBattleUintAI.Destory(); mBattleUintAI = null; } if (mActionCenter != null) { mActionCenter.Destroy(); mActionCenter = null; } if (mSkillEffectManager != null) { SkillDetails.OnSkillEffectOwnerEvent(mSkillEffectManager, SkillEffectOwnerEventDef.OwnerLeaveScene); mSkillEffectManager.Destroy(); mSkillEffectManager = null; } mActiveFlagsContainer = null; mRandEventContainer = null; mHitMaterialEffectCdContainer = null; mProperty = null; mUIShield = null; base.Destroy(); for (int i = 0; i < mAttachMents.Length; ++i) { AttachMent attach = mAttachMents[i]; if (attach != null && attach.visual != null) { attach.visual.Destroy(); } mAttachMents[i] = null; } }