public override void Start() { base.Start(); m_MoveState = new List <Vector3> (MoveRecordCount); m_MoveRequest = new List <Vector3> (MoveRequestCount); gMainPlayer = this; gameObject.AddComponent <Scanner> (); mMove = Entity.GetCmpt <Motion_Move_Human> (); mEquip = Entity.motionEquipment; mView = Entity.biologyViewCmpt; mTrans = Entity.peTrans; mIK = Entity.GetCmpt <IKCmpt> (); m_Skill = Entity.aliveEntity; mPackage = Entity.GetCmpt <PackageCmpt> (); mPassenger = Entity.passengerCmpt; mMotionMgr = Entity.motionMgr; mMotionMgr.onActionStart += OnActionStart; mMotionMgr.onActionEnd += OnActionEnd; m_Abnormalcmpt = Entity.Alnormal; if (null != m_Abnormalcmpt) { m_Abnormalcmpt.evtStart += OnStartAbnormal; m_Abnormalcmpt.evtEnd += OnEndAbnormal; } if (null != m_Skill) { m_Skill.onHpReduce += OnDamage; m_Skill.attackEvent += OnAttack; m_Skill.deathEvent += OnDeath; m_Skill.onSkillEvent += OnSkillTarget; m_Skill.onWeaponAttack += OnWeaponAttack; m_Skill.OnBeEnemyEnter += OnBeEnemyEnter; } if (!PeGameMgr.IsTutorial) { StartCoroutine(UpdateAbnormalNotice()); } //历险模式下此时初始化声望系统,ForceSetting并未加载,会导致声望系统不能正常起作用 //InitReputationSystem(); Invoke("CheckAbnormalState", 5f); }
void CheckTrigger() { if (null != abnormalAttacks && null != Pathea.PeCreature.Instance.mainPlayer) { Pathea.AbnormalConditionCmpt abnormalCmpt = Pathea.PeCreature.Instance.mainPlayer.GetCmpt <Pathea.AbnormalConditionCmpt>(); if (null != abnormalCmpt) { foreach (PEAbnormalAttack attackAttr in abnormalAttacks) { if (Vector3.SqrMagnitude(abnormalCmpt.Entity.position - transform.position) < attackAttr.radius * attackAttr.radius) { abnormalCmpt.ApplyAbnormalAttack(attackAttr, transform.position); } } } } }