void UpdateLaunch() { LaunchProjectile(); TurnOffCrosshairs(); GetNextTarget(); m_CurrentState = TimingStates.Reload; }
void ReloadToAim() { //AimAtPlayer(); UpdateAim(); TurnOnCrosshairs(); //turn on our crosshairs m_CurrentState = TimingStates.Aim; }
protected override void onDeath() { if (!m_HasAlreadyDead) { m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Dying); m_CurrentState = TimingStates.Dead; m_HasAlreadyDead = true; m_CurrentDeathTime = m_DeathTime; } }
// Use this for initialization void Start() { ResetTimers(); m_HasTraget = false; m_CurrentState = TimingStates.Idle; m_LaunchLocation = new Vector3(0, 0, 0); m_SFX = SFXManager.Instance; }
void UpdateReload() { //Checks if we finished our reload phase if (m_CurrentReloadTime < 0) { ResetTimers(); m_CurrentState = TimingStates.ReloadToAim; return; } //updates timer m_CurrentReloadTime -= Time.deltaTime; }
//if no current target, sets the player entering to current target. void OnTriggerEnter(Collider other) { if (m_HasAlreadyDead) { return; } //check if other is player. if (other.tag != Constants.PLAYER_STRING) { return; } //checks if we already have a target if (m_HasTraget) { return; } //sets our state to aim m_CurrentState = TimingStates.Aim; //initialize a local varible Characters OtherCharacter = Characters.Alex; //gets which player this is. switch (other.name) { case Constants.ALEX_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Alex; break; case Constants.DEREK_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Derek; break; case Constants.ZOE_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Zoe; break; } //checks if this player one or two if (OtherCharacter == GameData.Instance.PlayerOneCharacter) { m_CurrentTarget = 1; } else { m_CurrentTarget = 2; } }
void UpdateAim() { //if we are aiming we have a target m_HasTraget = true; AimAtPlayer(); //gets our player location and sets it to our launch location PaintTarget(); // places the crosshairs on our launch location if (m_CurrentAimTime < 0) //Have we finished our timer { //Reset our timers, we have reloaded, and change states ResetTimers(); m_CurrentState = TimingStates.Charge; return; } m_CurrentAimTime -= Time.deltaTime; // update timer }
void UpdateCharge() { if (m_HasAlreadyDead) { return; } m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Shooting); FlashCrosshair(); //Turns the crosshair on and off, based on a timer. PaintTarget(); // move the cross hairs to the launch location. if (m_CurrentChargeTime < 0) // checks if we are done charging. { ResetTimers(); m_CurrentState = TimingStates.Launch; return; } m_CurrentChargeTime -= Time.deltaTime; }
void UpdateCharge() { if (m_HasAlreadyDead) return; m_Animator.playAnimation (AnimatorMusicalMortar.Animations.Shooting); FlashCrosshair(); //Turns the crosshair on and off, based on a timer. PaintTarget(); // move the cross hairs to the launch location. if(m_CurrentChargeTime < 0) // checks if we are done charging. { ResetTimers(); m_CurrentState = TimingStates.Launch; return; } m_CurrentChargeTime -= Time.deltaTime; }
void UpdateAim() { //if we are aiming we have a target m_HasTraget = true; AimAtPlayer(); //gets our player location and sets it to our launch location PaintTarget(); // places the crosshairs on our launch location if(m_CurrentAimTime < 0) //Have we finished our timer { //Reset our timers, we have reloaded, and change states ResetTimers(); m_CurrentState = TimingStates.Charge; return; } m_CurrentAimTime -= Time.deltaTime; // update timer }
// Use this for initialization void Start() { ResetTimers(); m_HasTraget = false; m_CurrentState = TimingStates.Idle; m_LaunchLocation = new Vector3 (0, 0, 0); m_SFX = SFXManager.Instance; }
void OnTriggerExit(Collider other) { if (m_HasAlreadyDead) return; //local varibale. Characters OtherCharacter = Characters.Alex; short tempCharcater; //checks which character we are switch(other.name) { case Constants.ALEX_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Alex; break; case Constants.DEREK_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Derek; break; case Constants.ZOE_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Zoe; break; } //checks which player we are if(OtherCharacter == GameData.Instance.PlayerOneCharacter) { tempCharcater = 1; } else { tempCharcater = 2; } //check if the player leaving is the current target, if not, we don't need to do anything. if(tempCharcater != m_CurrentTarget) { return; } //if our current target leaves we need to check if the other player is in range. if not we set to idle. if(m_CurrentTarget == 1) { if(WithinRange(2)) { m_CurrentTarget = 2; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } else { if(WithinRange(1)) { m_CurrentTarget = 1; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } }
//if no current target, sets the player entering to current target. void OnTriggerEnter(Collider other) { if (m_HasAlreadyDead) return; //check if other is player. if(other.tag != Constants.PLAYER_STRING) return; //checks if we already have a target if(m_HasTraget) { return; } //sets our state to aim m_CurrentState = TimingStates.Aim; //initialize a local varible Characters OtherCharacter = Characters.Alex; //gets which player this is. switch(other.name) { case Constants.ALEX_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Alex; break; case Constants.DEREK_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Derek; break; case Constants.ZOE_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Zoe; break; } //checks if this player one or two if(OtherCharacter == GameData.Instance.PlayerOneCharacter) { m_CurrentTarget = 1; } else { m_CurrentTarget = 2; } }
void DistanceCheck() { if(m_HasAlreadyDead) {return;} if(m_HasTraget) { float Distance; //Check if our current target is in range, if(m_CurrentTarget == 1) { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerOne).transform.position); } else { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerTwo).transform.position); } if(Distance < m_Range) { return; } else { short otherTarget; if(m_CurrentTarget == 1) { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerTwo).transform.position); otherTarget = 2; } else { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerOne).transform.position); otherTarget = 1; } if(Distance < m_Range) { m_CurrentTarget = otherTarget; return; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; return; } } } float PlayerDistance = Vector3.Distance(PlayerInfo.getPlayer(Players.PlayerOne).transform.position, transform.position); if(PlayerDistance < m_Range) { m_CurrentTarget = 1; m_CurrentState = TimingStates.ReloadToAim; return; } PlayerDistance = Vector3.Distance(PlayerInfo.getPlayer(Players.PlayerTwo).transform.position, transform.position); if(PlayerDistance < m_Range) { m_CurrentTarget = 1; m_CurrentState = TimingStates.ReloadToAim; return; } }
void OnTriggerExit(Collider other) { if (m_HasAlreadyDead) { return; } //local varibale. Characters OtherCharacter = Characters.Alex; short tempCharcater; //checks which character we are switch (other.name) { case Constants.ALEX_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Alex; break; case Constants.DEREK_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Derek; break; case Constants.ZOE_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Zoe; break; } //checks which player we are if (OtherCharacter == GameData.Instance.PlayerOneCharacter) { tempCharcater = 1; } else { tempCharcater = 2; } //check if the player leaving is the current target, if not, we don't need to do anything. if (tempCharcater != m_CurrentTarget) { return; } //if our current target leaves we need to check if the other player is in range. if not we set to idle. if (m_CurrentTarget == 1) { if (WithinRange(2)) { m_CurrentTarget = 2; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } else { if (WithinRange(1)) { m_CurrentTarget = 1; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } }
void DistanceCheck() { if (m_HasAlreadyDead) { return; } if (m_HasTraget) { float Distance; //Check if our current target is in range, if (m_CurrentTarget == 1) { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerOne).transform.position); } else { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerTwo).transform.position); } if (Distance < m_Range) { return; } else { short otherTarget; if (m_CurrentTarget == 1) { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerTwo).transform.position); otherTarget = 2; } else { Distance = Vector3.Distance(transform.position, PlayerInfo.getPlayer(Players.PlayerOne).transform.position); otherTarget = 1; } if (Distance < m_Range) { m_CurrentTarget = otherTarget; return; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; return; } } } float PlayerDistance = Vector3.Distance(PlayerInfo.getPlayer(Players.PlayerOne).transform.position, transform.position); if (PlayerDistance < m_Range) { m_CurrentTarget = 1; m_CurrentState = TimingStates.ReloadToAim; return; } PlayerDistance = Vector3.Distance(PlayerInfo.getPlayer(Players.PlayerTwo).transform.position, transform.position); if (PlayerDistance < m_Range) { m_CurrentTarget = 1; m_CurrentState = TimingStates.ReloadToAim; return; } }
void UpdateReload() { //Checks if we finished our reload phase if(m_CurrentReloadTime < 0) { ResetTimers(); m_CurrentState = TimingStates.ReloadToAim; return; } //updates timer m_CurrentReloadTime -= Time.deltaTime; }
protected override void onDeath() { if(!m_HasAlreadyDead) { m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Dying); m_CurrentState = TimingStates.Dead; m_HasAlreadyDead = true; m_CurrentDeathTime = m_DeathTime; } }