private void Awake() { patrolBehaviour = GetComponent <PatrolBehaviour>(); chaseBehaviour = GetComponent <ChaseBehaviour>(); patrolBehaviour.enabled = true; chaseBehaviour.enabled = false; }
private void Start() { fireTime = Random.Range(minFireTime, maxFireTime); cb = GetComponent <ChaseBehaviour>(); bp = GameObject.FindGameObjectWithTag("BulletPool").GetComponent <BulletPool>(); enem = GetComponent <Enemy>(); if (name.Contains("Spider")) { bp = GameObject.FindGameObjectWithTag("StunBulletPool").GetComponent <BulletPool>(); } }
protected override void Start() { base.Start(); currentState = State.Death; enemyDetector = GetComponentInChildren <EnemyDetector>(); patrolBehaviour = GetComponent <PatrolBehaviour>(); chaseBehaviour = GetComponent <ChaseBehaviour>(); mover = GetComponent <Mover>(); fighter = GetComponent <Fighter>(); anim = GetComponent <Animator>(); enemyDetector.PlayerDetected.AddListener(UpdateTarget); enemyDetector.PlayerLost.AddListener(UpdateTarget); }
//Enable random dispersion of behavious private EnemyBehaviour GiveRandomBehaviour() { EnemyBehaviourCodes behvCode = behaviours[Random.Range(0, behaviours.Length)]; EnemyBehaviour behaviour = null; switch (behvCode) { case EnemyBehaviourCodes.CHASE: behaviour = new ChaseBehaviour(); break; case EnemyBehaviourCodes.ZIGZAG: behaviour = new ZigzagBehaviour(); break; case EnemyBehaviourCodes.PRESET: behaviour = new PresetBehaviour(); break; } return(behaviour); }
private void Start() { GetNextPoint(); cb = GetComponent <ChaseBehaviour>(); }
void Start() { //VARIABLES lookB = GetComponent <LookAroundBehaviour>(); patrolB = GetComponent <PatrolBehaviour>(); chaseB = GetComponent <ChaseBehaviour>(); atkB = GetComponent <AttackBehaviour>(); coneVision = GetComponent <ConeVision>(); fsmCurrentTxt = fsmCurrentTxt.GetComponent <TextMeshProUGUI>(); velocity = GetComponent <Velocity>(); health = GetComponent <HealthBar>(); //STATES FSMState Start = new FSMState(); FSMState lookAround = new FSMState(); FSMState patrol = new FSMState(); FSMState lastPosition = new FSMState(); FSMState chase = new FSMState(); FSMState attack = new FSMState(); //ACTIONS Start.enterActions.Add(StartAction); lookAround.enterActions.Add(LookAround); lookAround.exitActions.Add(lookB.StopLooking); patrol.enterActions.Add(Patrol); patrol.exitActions.Add(patrolB.StopPatrol); chase.enterActions.Add(Chase); chase.exitActions.Add(chaseB.StopAtLastKnowPosition); lastPosition.enterActions.Add(LastPosition); attack.enterActions.Add(chaseB.StopNow); attack.enterActions.Add(Attack); attack.exitActions.Add(atkB.StopAttacking); //TRANSITIONS FSMTransition t0 = new FSMTransition(AlwaysTrue); FSMTransition t1 = new FSMTransition(PlayerHidden); FSMTransition t2 = new FSMTransition(PlayerDetected); FSMTransition t3 = new FSMTransition(PlayerNotDetected); FSMTransition t4 = new FSMTransition(PlayerInAttackRange); FSMTransition t5 = new FSMTransition(PlayerNotInAttackRange); FSMTransition t6 = new FSMTransition(PatrolingFinished); FSMTransition t7 = new FSMTransition(NotMoving); FSMTransition t8 = new FSMTransition(PlayerNotHidden); //LINK STATE - TRANSITION Start.AddTransition(t0, patrol); lookAround.AddTransition(t1, patrol); lookAround.AddTransition(t8, chase); lookAround.AddTransition(t2, chase); patrol.AddTransition(t2, chase); patrol.AddTransition(t6, lookAround); chase.AddTransition(t3, lastPosition); chase.AddTransition(t4, attack); lastPosition.AddTransition(t7, lookAround); lastPosition.AddTransition(t2, chase); attack.AddTransition(t5, chase); //INITIAL STATE fsm = new FSM(Start); StartCoroutine(Run()); }
// Use this for initialization void Start() { sb = GetComponent <ShootBehaviour>(); cb = GetComponent <ChaseBehaviour>(); anim = GetComponentInChildren <Animator>(); }