private void FreshUI()
    {
        GameDataModuel dataModuel = GameStart.GetInstance().DataModuel;

        FreshHeart(dataModuel.m_heart);
        FreshNum(dataModuel.m_hitCount);
    }
Exemple #2
0
    public override void EnterState()
    {
        GameEventModuel eventModuel = GameStart.GetInstance().EventModuel;

        eventModuel.RegisterEventListener(GameEventID.Reset_Game_State, HandleResetStateEvent);
        eventModuel.RegisterEventListener(GameEventID.ENTITY_HIT_BALL, HandleEntityHitBall);

        GameObject ball = GameObject.Find("Ball");

        if (ball != null)
        {
            m_ball = CommonFunc.AddSingleComponent <Ball>(ball);
            m_ball.Reset();
        }

        GameObject chracter = GameObject.Find("Character");

        if (chracter != null)
        {
            m_entityInstance = chracter.GetComponent <EntityInstance>();

            Vector4 moveRange = new Vector4(-1.73f, -0.81f, 3.15f, -5.4f);
            m_entityInstance.SetMoveRange(moveRange);
        }


        GameObject ai = GameObject.Find("AI");

        if (ai != null)
        {
            m_aiInstance = ai.GetComponent <EntityInstance>();
            Vector4 moveRange = new Vector4(-2.09f, 9.3f, 2.61f, 4.61f);
            m_aiInstance.SetMoveRange(moveRange);
            ai.AddComponent <AIStateController>();
        }

        GameDataModuel dataModuel = GameStart.GetInstance().DataModuel;

        dataModuel.SetGameData(3, 0);

        m_ui = GameObject.FindObjectOfType <GameTestStateUI>();
        if (m_ui != null)
        {
            m_ui.Init();
        }
    }
Exemple #3
0
    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other != null)
        {
            if (other.gameObject.layer == LayerMask.NameToLayer("Wall"))
            {
                ContactPoint2D contactPoint = other.contacts[0];
                Vector3        newDir       = Vector3.Reflect(m_dir, contactPoint.normal);
                newDir.z = 0f;
                //Quaternion rotation = Quaternion.FromToRotation(m_dir,  newDir);
                //transform.rotation = rotation;
                if (m_rigidBody != null)
                {
                    m_rigidBody.velocity = newDir.normalized * m_speed;
                }

                m_dir = newDir;
            }
            else if (other.gameObject.layer == LayerMask.NameToLayer("Boundary"))
            {
                GameDataModuel dataModuel = GameStart.GetInstance().DataModuel;
                if (gameObject.transform.localPosition.y > 0)
                {
                    dataModuel.AddHeart();
                }
                else
                {
                    dataModuel.ReduceHeart();
                }

                GameEventModuel eventModuel = GameStart.GetInstance().EventModuel;
                if (eventModuel != null)
                {
                    eventModuel.SendEvent(GameEventID.Reset_Game_State, true, 0f);
                }
            }
        }
    }
Exemple #4
0
    private void HandleResetStateEvent(GameEvent eve)
    {
        if (m_aiInstance != null)
        {
            m_aiInstance.ResetStartPosition();

            AIStateController stateController = m_aiInstance.GetComponent <AIStateController>();
            if (stateController != null)
            {
                stateController.SwitchState(EAIStateType.Idle);
            }
        }

        GameDataModuel dataModuel = GameStart.GetInstance().DataModuel;

        if (dataModuel.m_heart <= 0)
        {
            if (SwitchStateAction != null)
            {
                SwitchStateAction(EGameStateType.GameTestState);
            }

            GameStart.GetInstance().LogModuel.Log(ELogType.Error, "You Died!!");
            return;
        }

        if (m_ball != null)
        {
            m_ball.Reset();
        }

        if (m_entityInstance != null)
        {
            m_entityInstance.ResetStartPosition();
        }
    }
Exemple #5
0
    private void HandleEntityHitBall(GameEvent eve)
    {
        GameDataModuel dataModuel = GameStart.GetInstance().DataModuel;

        dataModuel.AddHitCount();
    }