Пример #1
0
    public void Land()
    {
        if (!(m_Character as PlayerCharacterController).m_StandsInWater)
        {
            FMOD_StudioSystem.instance.PlayOneShot("event:/Darien/darien_land", m_Character.transform.position);
        }
        else
        {
            FMOD_StudioSystem.instance.PlayOneShot("event:/Darien/darien_waterland", m_Character.transform.position);
        }
        if (Math.Abs(m_Character.m_TotalForce.x) < 0.001f)
        {
            m_NextState = new MovementIdle(m_Character);
        }
        else
        {
            m_NextState = new MovementWalk(m_Character);
        }

        if (m_NextState != this)
        {
            m_Character.m_TotalForce.y = 0.0f;
            m_Character.GetComponent <Animator>().SetBool("Jump", false);
        }
    }
Пример #2
0
    public void Land()
    {
        if (!(m_Character as PlayerCharacterController).m_StandsInWater)
        {
            FMOD_StudioSystem.instance.PlayOneShot("event:/Darien/darien_land", m_Character.transform.position);
        }
        else
        {
            FMOD_StudioSystem.instance.PlayOneShot("event:/Darien/darien_waterland", m_Character.transform.position);
        }

        if (Math.Abs(m_Character.m_TotalForce.x) < 0.001f)
        {
            m_NextState = new MovementIdle(m_Character);
        }
        else
        {
            m_NextState = new MovementWalk(m_Character);
        }
    }
Пример #3
0
    public override void Update()
    {
        base.Update();


        if (m_PlaneShiftButton > 0.0f)
        {
            m_NextState = new MovementPlaneShift(m_Character);
        }
        else
        {
            if (Math.Abs(m_HorizontalAxis) >= 0.1f)
            {
                m_NextState = new MovementWalk(m_Character);
            }
            if (m_JumpButton == true)
            {
                m_NextState = new MovementJump(m_Character);
            }
            if (m_CrouchButton == true)
            {
                m_NextState = new MovementCrouch(m_Character);
            }
            if (m_Character.m_Opponent != null)
            {
                m_NextState = new BattleIdle(m_Character);
            }

            if (m_LightAttackButton == true)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_NextState = new MovementLightAttackDown(m_Character);
                }
                else
                {
                    m_NextState = new MovementLightAttackUp(m_Character);
                }
            }

            if (m_HeavyAttackButton == true)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_NextState = new MovementHeavyAttackDown(m_Character);
                }
                else
                {
                    m_NextState = new MovementHeavyAttackUp(m_Character);
                }
            }

            if (m_BlockButton == true)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_Character.GetComponent <Animator>().SetBool("BlockDown", true);
                    m_NextState = new MovementBlockDown(m_Character);
                }

                else
                {
                    m_Character.GetComponent <Animator>().SetBool("BlockUp", true);
                    m_NextState = new MovementBlockUp(m_Character);
                }
            }
        }
    }
Пример #4
0
    public override void Update()
    {
        base.Update();

        m_Character.GetComponent <Animator>().SetFloat("VelocityX", Math.Abs(m_Character.m_TotalForce.x));

        timer += Time.deltaTime;

        if (Math.Sign(m_HorizontalAxis) == 1)
        {
            float maxSpeed = m_Character.m_MaxSpeed / 2;
            //if (m_Character.m_FacingRight)
            //    maxSpeed = m_Character.m_MaxSpeed/4*3;
            //else
            //    maxSpeed = m_Character.m_MaxSpeed / 2;

            if (m_Velocity + m_Character.m_Acceleration < maxSpeed)
            {
                m_Velocity += m_Character.m_Acceleration;
            }
            else
            {
                m_Velocity = maxSpeed;
            }
        }
        else if (Math.Sign(m_HorizontalAxis) == -1)
        {
            float maxSpeed;
            if (!m_Character.m_FacingRight)
            {
                maxSpeed = m_Character.m_MaxSpeed;
            }
            else
            {
                maxSpeed = m_Character.m_MaxSpeed / 2;
            }

            if (Math.Abs(m_Velocity - m_Character.m_Acceleration) < maxSpeed || m_Velocity > 0f)
            {
                m_Velocity -= m_Character.m_Acceleration;
            }
            else
            {
                m_Velocity = (-1) * maxSpeed;
            }
        }
        else
        {
            if (m_Velocity - m_Character.m_Deceleration > 0.0f)
            {
                m_Velocity -= m_Character.m_Deceleration;
            }
            else if (m_Velocity + m_Character.m_Deceleration < 0.0f)
            {
                m_Velocity += m_Character.m_Deceleration;
            }
            else
            {
                m_Velocity = 0.0f;
            }
        }



        if (Math.Abs(m_Velocity) == 0.0f && m_HorizontalAxis == 0.0f)
        {
            m_NextState = new BattleIdle(m_Character);
        }

        if (m_LightAttackButton == true)
        {
            m_Velocity = 0.0f;

            if (m_VerticalAxis < -0.1f)
            {
                m_NextState = new BattleLightAttackDown(m_Character);
            }
            else
            {
                m_NextState = new BattleLightAttackUp(m_Character);
            }
        }

        if (m_HeavyAttackButton == true)
        {
            m_Velocity = 0.0f;

            if (m_VerticalAxis < -0.1f)
            {
                m_NextState = new BattleHeavyAttackDown(m_Character);
            }
            else
            {
                m_NextState = new BattleHeavyAttackUp(m_Character);
            }
        }

        if (m_JumpButton == true)
        {
            if (Math.Sign(m_HorizontalAxis) == Math.Sign(m_Character.transform.localScale.x))
            {
                m_Character.m_CurrentState = new BattleStepBack(m_Character);
            }
            else
            {
                m_Character.m_CurrentState = new BattleDash(m_Character);
            }
        }


        if (m_BlockButton == true)
        {
            m_ButtonTimer += Time.deltaTime;

            if (m_ButtonTimer >= 0.01f)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_Character.GetComponent <Animator>().SetBool("BlockDown", true);
                    m_NextState = new BattleBlockDown(m_Character);
                }

                else
                {
                    m_Character.GetComponent <Animator>().SetBool("BlockUp", true);
                    m_NextState = new BattleBlockUp(m_Character);
                }
            }
        }
        if (m_BlockButtonUp)
        {
            if (m_VerticalAxis < -0.1f)
            {
                m_Character.GetComponent <Animator>().SetTrigger("ParryDown");
                m_NextState = new BattleParryDown(m_Character);
            }

            else
            {
                m_Character.GetComponent <Animator>().SetTrigger("ParryUp");
                m_NextState = new BattleParryUp(m_Character);
            }
        }

        if (m_BlockButtonUp)
        {
            m_NextState = new BattleParryUp(m_Character);
        }

        if (m_Character.m_Opponent == null)
        {
            m_NextState = new MovementWalk(m_Character);
        }

        m_Character.m_TotalForce = new Vector3(m_Velocity, 0.0f, 0.0f);
    }
Пример #5
0
    public override void Update()
    {
        base.Update();

        if (m_PlaneShiftButton > 0.0f)
        {
            m_NextState = new MovementPlaneShift(m_Character);
        }
        else
        {

            if (Math.Abs(m_HorizontalAxis) >= 0.1f)
            {
                m_NextState = new MovementWalk(m_Character);
            }
            if (m_JumpButton == true)
            {
                m_NextState = new MovementJump(m_Character);
            }
            if (m_CrouchButton == true)
            {
                m_NextState = new MovementCrouch(m_Character);
            }
            if(m_Character.m_Opponent != null)
            {
                m_NextState = new BattleIdle(m_Character);
            }

            if (m_LightAttackButton == true)
            {

                if (m_VerticalAxis < -0.1f)
                    m_NextState = new MovementLightAttackDown(m_Character);
                else
                    m_NextState = new MovementLightAttackUp(m_Character);
            }

            if (m_HeavyAttackButton == true)
            {
                if (m_VerticalAxis < -0.1f)
                    m_NextState = new MovementHeavyAttackDown(m_Character);
                else
                    m_NextState = new MovementHeavyAttackUp(m_Character);
            }

            if (m_BlockButton == true)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_Character.GetComponent<Animator>().SetBool("BlockDown", true);
                    m_NextState = new MovementBlockDown(m_Character);
                }

                else
                {
                    m_Character.GetComponent<Animator>().SetBool("BlockUp", true);
                    m_NextState = new MovementBlockUp(m_Character);
                }
            }

        }
    }
Пример #6
0
    public override void Update()
    {
        base.Update();

        m_Character.GetComponent<Animator>().SetFloat("VelocityX", Math.Abs(m_Character.m_TotalForce.x));

        timer += Time.deltaTime;

        if (Math.Sign(m_HorizontalAxis) == 1)
        {
            float maxSpeed = m_Character.m_MaxSpeed / 2;
            //if (m_Character.m_FacingRight)
            //    maxSpeed = m_Character.m_MaxSpeed/4*3;
            //else
            //    maxSpeed = m_Character.m_MaxSpeed / 2;

            if (m_Velocity + m_Character.m_Acceleration < maxSpeed)
            {
                m_Velocity += m_Character.m_Acceleration;
            }
            else
            {
                m_Velocity = maxSpeed;
            }
        }
        else if (Math.Sign(m_HorizontalAxis) == -1)
        {

            float maxSpeed;
            if (!m_Character.m_FacingRight)
                maxSpeed = m_Character.m_MaxSpeed;
            else
                maxSpeed = m_Character.m_MaxSpeed / 2;

            if (Math.Abs(m_Velocity - m_Character.m_Acceleration) < maxSpeed || m_Velocity > 0f)
            {
                m_Velocity -= m_Character.m_Acceleration;
            }
            else
            {
                m_Velocity = (-1) * maxSpeed;
            }
        }
        else
        {
            if (m_Velocity - m_Character.m_Deceleration > 0.0f)
            {
                m_Velocity -= m_Character.m_Deceleration;
            }
            else if (m_Velocity + m_Character.m_Deceleration < 0.0f)
            {
                m_Velocity += m_Character.m_Deceleration;
            }
            else
            {
                m_Velocity = 0.0f;
            }
        }

        if (Math.Abs(m_Velocity) == 0.0f && m_HorizontalAxis == 0.0f)
        {
            m_NextState = new BattleIdle(m_Character);
        }

        if (m_LightAttackButton == true)
        {
            m_Velocity = 0.0f;

            if (m_VerticalAxis < -0.1f)
                m_NextState = new BattleLightAttackDown(m_Character);
            else
                m_NextState = new BattleLightAttackUp(m_Character);
        }

        if (m_HeavyAttackButton == true)
        {
            m_Velocity = 0.0f;

            if (m_VerticalAxis < -0.1f)
                m_NextState = new BattleHeavyAttackDown(m_Character);
            else
                m_NextState = new BattleHeavyAttackUp(m_Character);
        }

        if (m_JumpButton == true)
        {
            if (Math.Sign(m_HorizontalAxis) == Math.Sign(m_Character.transform.localScale.x))
            {
                m_Character.m_CurrentState = new BattleStepBack(m_Character);
            }
            else
            {
                m_Character.m_CurrentState = new BattleDash(m_Character);
            }
        }

        if (m_BlockButton == true)
        {
            m_ButtonTimer += Time.deltaTime;

            if (m_ButtonTimer >= 0.01f)
            {
                if (m_VerticalAxis < -0.1f)
                {
                    m_Character.GetComponent<Animator>().SetBool("BlockDown", true);
                    m_NextState = new BattleBlockDown(m_Character);
                }

                else
                {
                    m_Character.GetComponent<Animator>().SetBool("BlockUp", true);
                    m_NextState = new BattleBlockUp(m_Character);
                }
            }
        }
        if (m_BlockButtonUp)
        {
            if (m_VerticalAxis < -0.1f)
            {
                m_Character.GetComponent<Animator>().SetTrigger("ParryDown");
                m_NextState = new BattleParryDown(m_Character);
            }

            else
            {
                m_Character.GetComponent<Animator>().SetTrigger("ParryUp");
                m_NextState = new BattleParryUp(m_Character);
            }

        }

        if (m_BlockButtonUp)
        {
            m_NextState = new BattleParryUp(m_Character);
        }

        if(m_Character.m_Opponent == null)
        {
            m_NextState = new MovementWalk(m_Character);
        }

        m_Character.m_TotalForce = new Vector3(m_Velocity, 0.0f, 0.0f);
    }