public LocalObject(LocalShape localShape, string _uniqueName = "", Inventory _inventory = null) { uniqueName = _uniqueName; shape = new ShapeComponent(localShape, this); if (localShape.type == LocalType.Get("Destructible") || localShape.type == LocalType.Get("Container")) { hp = new HPComponent(this); } else if (localShape.type == LocalType.Get("Creature")) { hp = new HPComponent(this); movement = new Movement(this); defence = new Defence(this); attack = new Attack(this); abilities = new Abilities(this); fatigue = new Fatigue(this); eating = new Eating(this); } if (_inventory != null) { inventory = new Inventory(6, 1, "", false, null, this); _inventory.CopyTo(inventory); } }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); //根据绝对路径设置与获取数据 poolComponent = GameEntry.GetComponent <HPComponent>(); }
public void InitFishUI() { //DelegateEvent.EventProcessUI(transform, HUDController.UITypes.HPComponent, out m_Component); MonoBehaviour temp = m_HP as MonoBehaviour; if (Fish.EventProcessUI != null) { Fish.EventProcessUI(transform, HUDTankMgr.UITypes.HPComponent, out temp); } m_HP = temp as HPComponent; }
/// <summary> /// 增加血条 /// </summary> /// <returns></returns> public HPComponent AddPlayerHPUI(PlayerComponent player) { Transform obj = Instantiate(HPUIPrefab); obj.gameObject.transform.SetParent(transform.Find("HP")); HPComponent hp = obj.GetComponent <HPComponent>(); hp.followObj = player.transform; hp.Init(); return(hp); }
/// <summary> /// 增加血条 /// </summary> /// <returns></returns> public HPComponent AddNPCHPUI(NPCComponent npc) { Transform obj = Instantiate(HPUIPrefab); obj.localScale = Vector3.one; obj.gameObject.transform.SetParent(transform.Find("HP")); HPComponent hp = obj.GetComponent <HPComponent>(); hp.followObj = npc.transform; hp.Init(); return(hp); }
/// <summary> /// 绑定血条 /// </summary> /// <param name="hp"></param> public void SetHPComponent(HPComponent hp) { hPComponent = hp; hPComponent.SetEnable(true); hPComponent.DeadEvent += () => { if (playerUnitData.PlayerId == PlayerManager.Instance.GetHeroPlayer().playerUnitData.PlayerId) { Destroy(); } this.gameObject.SetActive(false); hPComponent.SetEnable(false); }; }
private IEnumerator CreateListHPComponents() { for (int i = 0; i < m_HPQuota; ++i) { GameObject obj = Instantiate(Pre_HPComponent, transform); obj.SetActive(false); HPComponent hp = obj.GetComponent <HPComponent>(); if (hp != null) { hp.SetParent(m_CacheRect); m_HPComponents.Add(hp); } yield return(null); } }
private void Start() { birthPos = this.transform.position; npcAnimator = this.GetComponent <Animator>(); npcCharacterController = this.GetComponent <CharacterController>(); originalPos = transform.position; defendCollider.OnTriggerEnterEvent += (collider) => { if (collider.transform.tag == "Player") { attackHero = collider.transform; fsm.ChangeState <NPCAttackState>(); } }; defendCollider.OnTriggerExitEvent += (collider) => { if (collider.transform.tag == "Player") { attackHero = null; fsm.ChangeState <NPCDefendState>(); } }; hPComponent = NPCManager.Instance.AddNPCHPUI(this); hPComponent.SetEnable(true); hPComponent.DeadEvent += () => { PlayDeath(); }; fsm = GameEntry.Fsm.CreateFsm(this.GetHashCode().ToString(), this, new NPCDefendState(), new NPCAttackState()); fsm.Start <NPCDefendState>(); }
public LocalObject(string _uniqueName, Race _race, CharacterClass _cclass, Background _background, Origin _origin, int experience) { uniqueName = _uniqueName; race = _race; cclass = _cclass; background = _background; origin = _origin; xp = new Experience(experience, this); skills = new Skills(this); inventory = new Inventory(6, 1, "", true, null, this); hp = new HPComponent(this); movement = new Movement(this); defence = new Defence(this); attack = new Attack(this); abilities = new Abilities(this); fatigue = new Fatigue(this); eating = new Eating(this); }
void Start() { walkAnim = TestFSM.FSM_Walk_Anim; idleAnim = TestFSM.FSM_Idle_Anim; mRecorder = TestFSM.FSM_Test_Recorder; roundstate = TestFSM.FSM_Round; Idlestate = TestFSM.FSM_Idle; roundExit = TestFSM.FSM_Run_Exit; yali = yaliFSM.yali_Transfer; for (int i = 0; i < count; i++) { HPComponent player_hp = new HPComponent(); AIEntity mAIEntity = new AIEntity(); UEntity mPlayer = new UEntity(); UEntity mPlayerLast = new UEntity(); HPComponent playerLast_hp = new HPComponent(); ECSWorld.MainWorld.registerEntityAfterInit(mAIEntity); ECSWorld.MainWorld.registerEntityAfterInit(mPlayer); mAIEntity.mAI = AI; mAIEntity.mPlayer = player; mAIEntity.AIPos = initpos [Random.Range(0, initpos.Length)].transform.position; mAIEntity.Init(); mAIEntity.GetComponent <LODComponent> ().isUse = isUseLOD; mAIEntity.AddComponent <myAI> (new myAI()); mAIEntity.GetComponent <myAI> ().mRoundCenter = mAIEntity.AIPos; mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.SetActive(true); mAIEntity.PlayerEntity = mPlayer; mAIEntity.GetComponent <HPComponent> ().allHP = 500; mAIEntity.GetComponent <HPComponent> ().tempHP = 500; animator = mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.GetComponent <Animator> (); mAIEntity.GetComponent <AIAnimation> ().mAnimator = animator; mAIEntity.GetComponent <AIAnimation> ().Add("Walk", walkAnim); mAIEntity.GetComponent <AIAnimation> ().Add("Idle", idleAnim); int id_round = mAIEntity.GetComponent <AIState> ().AddExecuter(roundstate, roundExit, EmptyExitAndEnter.EmptyEnter); int id_idle = mAIEntity.GetComponent <AIState> ().AddExecuter(Idlestate, EmptyExitAndEnter.EmptyExit, EmptyExitAndEnter.EmptyEnter); mAIEntity.GetComponent <AIState> ().AddEdge(yali, EmptyFeedbacker.Run, id_round, id_idle); mAIEntity.GetComponent <AIState> ().AddEdge(yali, EmptyFeedbacker.Run, id_idle, id_round); mAIEntity.GetComponent <AIState> ().AddAnimation(roundstate, "Walk"); mAIEntity.GetComponent <AIState> ().AddAnimation(Idlestate, "Idle"); mAIEntity.GetComponent <AIState> ().tempID = id_round; mAIEntity.GetComponent <AIState> ().mStateRecorder = mRecorder; mAIEntity.GetComponent <AIState> ().LastEntityData.AddComponent <HPComponent> (new HPComponent()); mAIEntity.GetComponent <AIState> ().LastEntityData.PlayerEntity = mPlayerLast; mPlayerLast.AddComponent <HPComponent> (playerLast_hp); player_hp.allHP = 700; player_hp.tempHP = 700; mPlayer.AddComponent <HPComponent> (player_hp); } }