示例#1
0
    void NormalGacha()
    {
        var topleft = Camera.main.ViewportToScreenPoint(
            new Vector3(0.3f, 0.5f, 0.0f));

        var size = Camera.main.ViewportToScreenPoint(
            new Vector3(0.4f, 0.2f, 0.0f));

        var area = new Rect(
            topleft.x, topleft.y,
            size.x, size.y);

        GUILayout.BeginArea(area);

        GUILayout.FlexibleSpace();

        var guiStyle = new GUIStyle(GUI.skin.GetStyle("label"));

        guiStyle.alignment = TextAnchor.MiddleCenter;
        guiStyle.fontSize  = 20;

        GUILayout.Label(
            "ノーマルガチャ",
            guiStyle);

        GUILayout.FlexibleSpace();

        GUILayout.BeginHorizontal();

        GUILayout.FlexibleSpace();

        if (GUILayout.Button("ノーマル1回\n(HP 10)", GUILayout.MinWidth(120), GUILayout.MinHeight(40)))
        {
            if (PlayerHealth.health > 10)
            {
                PlayerHealth.AddHealth(-10);
                normalGacha.Draw(1);
                gacha    = normalGacha;
                guiState = StateGacha;
            }
            else
            {
                guiState = StateLack;
            }
        }

        GUILayout.FlexibleSpace();

        if (GUILayout.Button("ノーマル11連\n(HP 100)", GUILayout.MinWidth(120), GUILayout.MinHeight(40)))
        {
            if (PlayerHealth.health > 100)
            {
                PlayerHealth.AddHealth(-100);
                normalGacha.Draw(11);
                gacha    = normalGacha;
                guiState = StateGacha11;
            }
            else
            {
                guiState = StateLack;
            }
        }

        GUILayout.FlexibleSpace();

        GUILayout.EndHorizontal();

        GUILayout.FlexibleSpace();

        GUILayout.EndArea();
    }
示例#2
0
    void RareGacha()
    {
        var backupColor = GUI.color;

        GUI.color = Color.yellow;

        var topleft = Camera.main.ViewportToScreenPoint(
            new Vector3(0.3f, 0.1f, 0.0f));

        var size = Camera.main.ViewportToScreenPoint(
            new Vector3(0.4f, 0.35f, 0.0f));

        var area = new Rect(
            topleft.x, topleft.y,
            size.x, size.y);

        GUILayout.BeginArea(area);

        GUILayout.FlexibleSpace();

        var guiStyle = new GUIStyle(GUI.skin.GetStyle("label"));

        guiStyle.alignment = TextAnchor.MiddleCenter;
        guiStyle.fontSize  = 30;

        GUILayout.Label(
            "☆☆☆レアガチャ☆☆☆",
            guiStyle,
            GUILayout.MinHeight(60));

        //GUILayout.FlexibleSpace();

//		GUI.color = Color.red;
//		guiStyle.fontSize = 20;
//
//		GUILayout.Label(
//			"11連でSR1枚確定キャンペーン中!!!",
//			guiStyle);

        GUI.color = Color.yellow;

        //GUILayout.FlexibleSpace();

        GUILayout.BeginHorizontal();

        GUILayout.FlexibleSpace();

        if (GUILayout.Button("レア1回\n(最大HP 10)", GUILayout.MinWidth(120), GUILayout.MinHeight(60)))
        {
            if (PlayerHealth.maxHealth >= 10)
            {
                PlayerHealth.AddMaxHealth(-10);
                rareGacha.Draw(1);
                gacha    = rareGacha;
                guiState = StateGacha;
            }
            else
            {
                guiState = StateLack;
            }
        }

        GUILayout.FlexibleSpace();

        if (GUILayout.Button("レア11連\n(最大HP 100)", GUILayout.MinWidth(120), GUILayout.MinHeight(60)))
        {
            if (PlayerHealth.maxHealth >= 100)
            {
                PlayerHealth.AddMaxHealth(-100);
                rareGacha.Draw(11);
                gacha    = rareGacha;
                guiState = StateGacha11;
            }
            else
            {
                guiState = StateLack;
            }
        }

        GUILayout.FlexibleSpace();

        GUILayout.EndHorizontal();

        GUILayout.FlexibleSpace();

        GUILayout.EndArea();

        GUI.color = backupColor;
    }