示例#1
0
    IEnumerator Cor_State_Move()
    {
        if (m_eState == E_HEROSTATE.E_MOVE)
        {
            yield break;
        }
        if (m_eState == E_HEROSTATE.E_JUMP)
        {
            yield break;
        }
        if (m_eState == E_HEROSTATE.E_STURN)
        {
            yield break;
        }
        m_eState          = E_HEROSTATE.E_MOVE;
        m_pAni.namePrefix = "run_";
        m_pAni.mIndex     = 0;
        m_pAni.loop       = true;

        do
        {
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_MOVE);

        yield return(null);
    }
示例#2
0
    IEnumerator Cor_State_None()
    {
        if (m_eState == E_HEROSTATE.E_NONE)
        {
            yield break;
        }
        if (m_eState == E_HEROSTATE.E_JUMP)
        {
            yield break;
        }
        //if (m_eState == E_HEROSTATE.E_STURN) yield break;
        m_eState          = E_HEROSTATE.E_NONE;
        m_pAni.namePrefix = "normal_";
        m_pAni.mIndex     = 0;
        m_pAni.loop       = true;
        m_bMove           = false;

        do
        {
            // TouchMoveUpdate();
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_NONE);

        yield return(null);
    }
示例#3
0
    IEnumerator Cor_State_Sturn()
    {
        m_bPerfectHit      = true;
        m_pAni.namePrefix  = "stun2_";
        m_pAni.mIndex      = 0;
        m_pAni.loop        = false;
        m_stJump.m_fDt     = 0.0f;
        m_stJump.m_fJumpDt = 0.0f;
        m_eState           = E_HEROSTATE.E_STURN;
        m_stJump.m_eState  = E_JUMPSTATE.E_JUMP_NONE;
        float fTime = 0.0f;

        do
        {
            if (JHGameData_Mng.I._TutorialState == false && base.Update() == false)
            {
                yield return(null);

                continue;
            }
            m_stJump.m_fDt += Time.deltaTime;
            fTime          += Time.deltaTime;
            if (fTime > 1.0f)
            {
                ChangeState(E_HEROSTATE.E_NONE);
                JHUserData_Mng.I.m_pUserData.SetData("_Hidden_HitBallCombo", 0);
                break;
            }

            if (m_stPos.y <= m_fGroundY)
            {
                m_stPos.y          = m_fGroundY;
                m_stJump.m_fDt     = 0.0f;
                m_stJump.m_fJumpDt = 0.0f;
            }
            else
            {
                float move = (m_stJump.m_fGravity * ((m_stJump.m_fDt - m_stJump.m_fJumpDt)));
                move      *= 100.0f;
                m_stPos.y -= move * Time.deltaTime;
            }
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_STURN);

        yield return(null);
    }
示例#4
0
    override public bool Create()
    {
        if (base.Create() == false)
        {
            return(false);
        }
        m_eState  = E_HEROSTATE.E_MAX;
        m_eDirect = E_CSDIRECT.E_LEFT;

        m_stPos = new Vector3(0.0f, m_fGroundY, 0.0f);

        m_stJump.m_fDt      = 0.0f;
        m_stJump.m_fJumpDt  = 0.0f;
        m_stJump.m_eState   = E_JUMPSTATE.E_JUMP_NONE;
        m_stJump.m_fGravity = 90.8f;

        m_bMove = false;

        m_fSpeed          = JHGameData_Mng.I.m_pData_Stat._Basic_Speed;
        m_stJump.m_fPower = JHGameData_Mng.I.m_pData_Stat._Basic_JumpPower;

        m_fSpeed          += JHGameData_Mng.I.m_pData_Stat._Stat_Speed * JHGameData_Mng.I.m_pData_Stat._Factor_Speed;
        m_stJump.m_fPower += JHGameData_Mng.I.m_pData_Stat._Stat_JumpPower * JHGameData_Mng.I.m_pData_Stat._Factor_JumpPower;


        m_fMaxHp = JHGameData_Mng.I.m_pData_Stat._Basic_Hp;

        m_fMaxHp += JHGameData_Mng.I.m_pData_Stat._Stat_Hp * JHGameData_Mng.I.m_pData_Stat._Factor_Hp;

        m_fCurrHp = m_fMaxHp;


        m_fMaxPower  = 100.0f;
        m_fCurrPower = 0.0f;

        StartCoroutine(Cor_State_Start());
        ResetTransform();
        return(true);
    }
示例#5
0
    IEnumerator Cor_State_Die()
    {
        StopCoroutine("Cor_State_Sturn");
        m_eState           = E_HEROSTATE.E_DIE;
        m_pAni.namePrefix  = "stun2_";
        m_pAni.mIndex      = 0;
        m_pAni.loop        = false;
        m_stJump.m_fDt     = 0.0f;
        m_stJump.m_fJumpDt = 0.0f;
        if (m_bPerfectHit == false)
        {
            JHUserData_Mng.I.m_pUserData.PlusData("_HiddenNotHitAllType");
        }
        do
        {
            if (base.Update() == false)
            {
                yield return(null);
            }
            m_stJump.m_fDt += Time.deltaTime;
            if (m_stPos.y <= m_fGroundY)
            {
                m_stPos.y          = m_fGroundY;
                m_stJump.m_fDt     = 0.0f;
                m_stJump.m_fJumpDt = 0.0f;
            }
            else
            {
                float move = (m_stJump.m_fGravity * ((m_stJump.m_fDt - m_stJump.m_fJumpDt)));
                move      *= 100.0f;
                m_stPos.y -= move * Time.deltaTime;
            }
            ResetTransform();
            yield return(null);
        } while (true);

        yield return(null);
    }
示例#6
0
    IEnumerator Cor_State_Magnet()
    {
        m_eState = E_HEROSTATE.E_MAGNET;
        JHGame_MainLayer.I.m_pMoney_Mng.AllMagnet();
        yield return(new WaitForSeconds(1.0f));

        do
        {
            if (base.Update() == false)
            {
                yield return(null);
            }
            if (JHGame_MainLayer.I.m_pMoney_Mng.GetMagnet() == false)
            {
                ChangeState(E_HEROSTATE.E_NONE);
                break;
            }
            ResetTransform();
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_MAGNET);

        yield return(null);
    }
示例#7
0
    void ChangeState(E_HEROSTATE eState, bool bForced = false)
    {
        if (bForced == false && m_eState == eState)
        {
            return;
        }
        if (m_eState == E_HEROSTATE.E_DIE)
        {
            return;
        }
        if (bForced == true)
        {
            for (int i = 0; i < (int)E_HEROSTATE.E_MAX; i++)
            {
                switch ((E_HEROSTATE)i)
                {
                case E_HEROSTATE.E_NONE:
                    StopCoroutine("Cor_State_None");
                    break;

                case E_HEROSTATE.E_MOVE:
                    StopCoroutine("Cor_State_Move");
                    break;

                case E_HEROSTATE.E_JUMP:
                    StopCoroutine("Cor_State_Jump");
                    break;

                case E_HEROSTATE.E_STURN:
                    StopCoroutine("Cor_State_None");
                    break;
                }
            }
        }

        /*
         * }*/
        switch (eState)
        {
        case E_HEROSTATE.E_NONE:
            StartCoroutine("Cor_State_None");
            break;

        case E_HEROSTATE.E_MOVE:
            StartCoroutine("Cor_State_Move");
            break;

        case E_HEROSTATE.E_JUMP:
            StartCoroutine("Cor_State_Jump");
            break;

        case E_HEROSTATE.E_STURN:
            StartCoroutine("Cor_State_Sturn");
            break;

        case E_HEROSTATE.E_DIE:
            StartCoroutine("Cor_State_Die");
            break;

        case E_HEROSTATE.E_MAGNET:
            StartCoroutine("Cor_State_Magnet");
            break;
        }
    }
示例#8
0
    IEnumerator Cor_State_Start()
    {
        m_eState             = E_HEROSTATE.E_START;
        m_pAni.namePrefix    = "aa";
        m_pAni.mIndex        = 0;
        m_pAni.loop          = true;
        m_pSprite.spriteName = "stun2_2";
        m_stPos.y            = 730.0f;
        m_stJump.m_fDt       = 0.0f;
        m_stJump.m_fJumpDt   = 0.0f;
        bool bSt = false;

        yield return(new WaitForSeconds(0.1f));

        JHGame_MainLayer.I.m_pEffect_Mng.CreateEffect_Shadow();
        CSSoundMng.I.Play("CatDrop");
        float fTime = 0.0f;

        do
        {
            fTime += Time.deltaTime;
            if (fTime < 0.8f)
            {
                yield return(null);

                continue;
            }
            m_stJump.m_fDt += Time.deltaTime;
            if (fTime > 2.3f)
            {
                ChangeState(E_HEROSTATE.E_NONE);
                if (JHGame_UILayer.I.m_pPicture._Process == false)
                {
                    JHGameData_Mng.I.SetCycle(false);
                }

                CSSoundMng.I.Play("bgm01", true);
                break;
            }

            if (m_stPos.y <= m_fGroundY)
            {
                if (bSt == false)
                {
                    JHGame_MainLayer.I.m_pShake.Reset();
                    JHGame_MainLayer.I.m_pShake.StartUpDownShake(0.8f);
                    JHGame_MainLayer.I.m_pBG.Off();
                    m_pAni.namePrefix = "stun2_";
                    m_pAni.mIndex     = 0;
                    m_pAni.loop       = false;
                    bSt = true;

                    JHGame_UILayer.I.m_pHpBar.Enter();
                    CSSoundMng.I.Play("Uck");
                    CSSoundMng.I.Play("Hit3");
                }
                m_stPos.y          = m_fGroundY;
                m_stJump.m_fDt     = 0.0f;
                m_stJump.m_fJumpDt = 0.0f;
            }
            else
            {
                float move = (m_stJump.m_fGravity * ((m_stJump.m_fDt - m_stJump.m_fJumpDt)));
                move      *= 100.0f;
                m_stPos.y -= move * Time.deltaTime;
            }
            ResetTransform();
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_START);
        yield return(null);
    }
示例#9
0
    IEnumerator Cor_State_Jump()
    {
        if (m_eState == E_HEROSTATE.E_JUMP)
        {
            yield break;
        }
        if (m_eState == E_HEROSTATE.E_STURN)
        {
            yield break;
        }

        CSSoundMng.I.Play("Hero_Jump");
        m_eState           = E_HEROSTATE.E_JUMP;
        m_pAni.namePrefix  = "jump_";
        m_pAni.mIndex      = 0;
        m_pAni.loop        = false;
        m_stJump.m_fDt     = 0.0f;
        m_stJump.m_fJumpDt = 0.0f;
        m_stJump.m_eState  = E_JUMPSTATE.E_JUMP_UP;
        JHUserData_Mng.I.m_pUserData.PlusData("_JumpCount");


        do
        {
            //  TouchMoveUpdate();
            if (JHGameData_Mng.I._TutorialState == false && base.Update() == false)
            {
                yield return(null);

                continue;
            }
            m_stJump.m_fDt += Time.deltaTime;

            if (m_stJump.m_eState == E_JUMPSTATE.E_JUMP_DOWN)
            {
                float move = (m_stJump.m_fGravity * ((m_stJump.m_fDt - m_stJump.m_fJumpDt)));
                move      *= 100.0f;
                m_stPos.y -= move * Time.deltaTime;
                if (m_stPos.y <= m_fGroundY)
                {
                    m_stJump.m_eState  = E_JUMPSTATE.E_JUMP_NONE;
                    m_stPos.y          = m_fGroundY;
                    m_eState           = E_HEROSTATE.E_MAX;
                    m_stJump.m_fDt     = 0.0f;
                    m_stJump.m_fJumpDt = 0.0f;
                    ChangeState(E_HEROSTATE.E_MOVE);
                    break;
                }
            }
            else
            {
                float move = 0.0f;

                move  = m_stJump.m_fPower - (m_stJump.m_fGravity * (m_stJump.m_fDt - m_stJump.m_fJumpDt));
                move *= 100.0f;

                m_stPos.y += move * Time.deltaTime;
                if (move < 0)
                {
                    m_stJump.m_fJumpDt = m_stJump.m_fDt;
                    m_stJump.m_eState  = E_JUMPSTATE.E_JUMP_DOWN;
                }
            }
            yield return(null);
        } while (m_eState == E_HEROSTATE.E_JUMP);
        yield return(null);
    }