void GetClass(string chosenClass) { if (chosenClass == "Heretic") { _className = GameObject.Find("GameManager").GetComponent <Heretic>(); } //if (chosenClass == "Gunslinger") // _className = GetComponent<Gunslinger>(); //if (chosenClass == "Robomancer") // _className = GetComponent<Robomancer>(); //if (chosenClass == "Officer") // _className = GetComponent<Officer>(); //if (chosenClass == "Shadow") // _className = GetComponent<Shadow>(); //if (chosenClass == "EXO Specialist") // _className = GetComponent<EXOSpecialist>(); }
//AI是长期组件,但是每回合只执行一次 public override void Init(List <BasicEntity> entities) { turnNumber = StateStaticComponent.m_turneNumber; base.Init(entities); foreach (BasicEntity e in entities) { PropertyComponent propertyComp = (PropertyComponent)e.GetSpecicalComponent(ComponentType.Property); if (propertyComp.m_characterType == PropertyComponent.CharacterType.Heretic) { AIComponent aiComp = (AIComponent)e.GetSpecicalComponent(ComponentType.AI); aiComp.m_enemy = new Heretic(e); aiComp.m_patrolPoint = propertyComp.m_patrolPoint; Heretic heretic = (Heretic)aiComp.m_enemy; heretic.m_events.AddEvent(AIComponent.Decision.Patrol); heretic.m_events.m_events [0].m_usingActionPoint = 0; PatrolDecision <Heretic> a = (PatrolDecision <Heretic>)heretic.m_decisions [AIComponent.Decision.Patrol]; a.m_tmpHp = propertyComp.HP; continue; } } }