Game Development Reference
In-Depth Information
031 void Start()
032 {
033 //Get Player Controller Component
034 GameObject PlayerObject = GameObject.Find("Player");
035 PC = PlayerObject.GetComponentInChildren<PlayerController>();
036
037 //Get Player Transform
038 PlayerTransform = PC.transform;
039
040 //Get Enemy Transform
041 ThisTransform = transform;
042
043 //Set default state
044 ChangeState(ActiveState);
045 }
046 //------------------------------------------------
047 //Change AI State
048 public void ChangeState(ENEMY_STATE State)
049 {
050 //Stops all AI Processing
051 StopAllCoroutines();
052
053 //Set new state
054 ActiveState = State;
055
056 //Activates new state
057 switch(ActiveState)
058 {
059 case ENEMY_STATE.ATTACK:
060 StartCoroutine(AI_Attack());
061
062 //Notify Game Object - in case we want to handle state change
063 SendMessage("Attack", SendMessageOptions.DontRequireReceiver);
064 return;
065
066 case ENEMY_STATE.CHASE:
067 StartCoroutine(AI_Chase());
068
069 //Notify Game Object - in case we want to handle state change
070 SendMessage("Chase", SendMessageOptions.DontRequireReceiver);
071 return;
072
073 case ENEMY_STATE.PATROL:
074 StartCoroutine(AI_Patrol());
075
076 //Notify Game Object - in case we want to handle state change
077 SendMessage("Patrol", SendMessageOptions.DontRequireReceiver);
078 return;
079 }
080 }
081 //------------------------------------------------
Search WWH ::




Custom Search