Esempio n. 1
0
 void UpdateLaunch()
 {
     LaunchProjectile();
     TurnOffCrosshairs();
     GetNextTarget();
     m_CurrentState = TimingStates.Reload;
 }
Esempio n. 2
0
 void ReloadToAim()
 {
     //AimAtPlayer();
     UpdateAim();
     TurnOnCrosshairs();         //turn on our crosshairs
     m_CurrentState = TimingStates.Aim;
 }
Esempio n. 3
0
 protected override void onDeath()
 {
     if (!m_HasAlreadyDead)
     {
         m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Dying);
         m_CurrentState     = TimingStates.Dead;
         m_HasAlreadyDead   = true;
         m_CurrentDeathTime = m_DeathTime;
     }
 }
Esempio n. 4
0
    // 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;
    }
Esempio n. 5
0
 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;
 }
Esempio n. 6
0
    //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;
        }
    }
Esempio n. 7
0
 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
 }
Esempio n. 8
0
    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;
    }
Esempio n. 9
0
    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;
    }
Esempio n. 10
0
 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
 }
Esempio n. 11
0
    // 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;
    }
Esempio n. 12
0
 void ReloadToAim()
 {
     //AimAtPlayer();
     UpdateAim();
     TurnOnCrosshairs(); //turn on our crosshairs
     m_CurrentState = TimingStates.Aim;
 }
Esempio n. 13
0
    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;
            }
        }
    }
Esempio n. 14
0
    //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;
        }
    }
Esempio n. 15
0
    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;
        }
    }
Esempio n. 16
0
 void UpdateLaunch()
 {
     LaunchProjectile();
     TurnOffCrosshairs();
     GetNextTarget();
     m_CurrentState = TimingStates.Reload;
 }
Esempio n. 17
0
    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;
            }
        }
    }
Esempio n. 18
0
    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;
        }
    }
Esempio n. 19
0
 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;
 }
Esempio n. 20
0
 protected override void onDeath()
 {
     if(!m_HasAlreadyDead)
     {
         m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Dying);
         m_CurrentState = TimingStates.Dead;
         m_HasAlreadyDead = true;
         m_CurrentDeathTime = m_DeathTime;
     }
 }