private void InitBotBehaviours() { m_animator = GetComponent <Animator>(); m_aiSpawnUnit = m_animator.GetBehaviour <AISpawnUnit>(); m_aiSpawnUnit.SetPlayerEntity(this); m_aiBuildObstacles = m_animator.GetBehaviour <AIBuildObstacle>(); m_aiBuildObstacles.SetPlayerEntity(this); m_aiDestroyObstacles = m_animator.GetBehaviour <AIDestroyObstacle>(); m_aiDestroyObstacles.SetPlayerEntity(this); m_aiFindClosestBuild = m_animator.GetBehaviour <AIFindClosestBuild>(); m_aiRandomActions = m_animator.GetBehaviour <AIRandomActions>(); m_aiMirrorPlayer = m_animator.GetBehaviour <AIMirrorPlayer>(); m_aiCreateTeam = m_animator.GetBehaviour <AICreateTeam>(); m_aiFindCkOnPath = m_animator.GetBehaviour <AIFindCkOnPath>(); m_aiIdle = m_animator.GetBehaviour <AIIdle>(); m_aiStrat = m_animator.GetBehaviour <AIStrat>(); }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_aiSpawnUnit = animator.GetBehaviour <AISpawnUnit> (); m_listeUnits.Clear(); for (int i = 0; i < m_listeTypeUnits.Count; i++) { for (int j = 0; j < m_listeNbUnits[i]; j++) { m_listeUnits.Add(m_listeTypeUnits[i]); } } m_listeSpawnUnits[m_indexSpanwUnits].SetUnitsQueue(m_listeUnits); m_aiSpawnUnit.SetIndexSpawUnits(m_indexSpanwUnits); m_aiSpawnUnit.SetListeSpawnUnits(m_listeSpawnUnits); animator.SetTrigger(Constant.BotTransition.s_spawnUnit); m_aiSpawnUnit = animator.GetBehaviour <AISpawnUnit>(); }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_listSpawnTypeObstacle.Clear(); m_listSpawnTypeUnit.Clear(); m_listSpawnTypeUnit.Add(Constant.SpawnTypeUnit.Warrior); m_listSpawnTypeUnit.Add(Constant.SpawnTypeUnit.Range); m_listSpawnTypeUnit.Add(Constant.SpawnTypeUnit.Tank); m_listSpawnTypeUnit.Add(Constant.SpawnTypeUnit.Scout); m_listSpawnTypeObstacle.Add(ActiveObstacle.ObstacleType.SimpleWall); m_listSpawnTypeObstacle.Add(ActiveObstacle.ObstacleType.Pillar); m_listSpawnTypeObstacle.Add(ActiveObstacle.ObstacleType.SlopeRight); m_listSpawnTypeObstacle.Add(ActiveObstacle.ObstacleType.SlopeLeft); m_listSpawnTypeObstacle.Add(ActiveObstacle.ObstacleType.Trap); m_aiBuildObstacle = animator.GetBehaviour <AIBuildObstacle>(); m_aiDestroyObstacle = animator.GetBehaviour <AIDestroyObstacle>(); m_aiSpawnUnit = animator.GetBehaviour <AISpawnUnit>(); m_aiReleaseUnits = animator.GetBehaviour <AIReleaseUnits>(); }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { m_aiSpawnUnit = animator.GetBehaviour <AISpawnUnit>(); }