Beispiel #1
0
    Vector3 originalScale;           //シールドの初期サイズを格納するために使用

    private void Start()
    {
        shieldMesh = transform.Find("glass").GetComponent <MeshRenderer>();

        //シールドの初期サイズを格納
        originalScale = transform.localScale;

        //シールドの初期属性を炎(赤)にセット
        ShieldElement = ElementManager.Elements.FIRE;

        //シールドの耐久力の初期値をセット
        Health = 100;
    }
Beispiel #2
0
    ElementManager.Elements e; //属性を設定するために使用

    private void Awake()
    {
        meshRenderer = GetComponent <MeshRenderer>();

        DamageForSameElement = 40; //同属性に対するダメージ
        DamageForWeakElement = 60; //弱点促成に対するダメージ

        //ランダムに属性を決定
        e = (ElementManager.Elements)Random.Range(0, 3);

        //属性の設定
        SetElements(e);
    }
Beispiel #3
0
    private void Update()
    {
        //シーンリセット時にスタティック値に初期値をセット
        if (GameStateManager.CurrentState == GameStateManager.GameStates.INITIAL)
        {
            Health = 100;

            //初期属性は炎(赤)
            ShieldElement = ElementManager.Elements.FIRE;
        }

        //ゲームオーバー時以外はシールドを回転させる
        if (GameStateManager.CurrentState != GameStateManager.GameStates.GAMEOVER)
        {
            transform.Rotate(0, 0, 2);
        }

        //シールドの耐久値が0以下の場合
        if (Health <= 0)
        {
            //シールドの耐久力を0に設定
            Health = 0;

            //オブジェクト自体を破壊することなくゲームから除外するため、上に移動させる
            transform.localPosition += new Vector3(0, 100, 0);
        }


        //シールドの耐久力によってサイズを更新
        transform.localScale = new Vector3(originalScale.x * (Health * 0.01f), originalScale.y * (Health * 0.01f), originalScale.z);

        //現在の属性に応じて色を変更
        switch (ShieldElement)
        {
        case ElementManager.Elements.FIRE:
            shieldMesh.material.color = Color.red;
            break;

        case ElementManager.Elements.WATER:
            shieldMesh.material.color = Color.blue;
            break;

        case ElementManager.Elements.LEAF:
            shieldMesh.material.color = Color.green;
            break;
        }
    }
Beispiel #4
0
    private void Update()
    {
        //シーンリセット時に体力の初期値と初期の属性を再セット
        if (GameStateManager.CurrentState == GameStateManager.GameStates.INITIAL)
        {
            Health = 100;

            //初期の属性を炎(赤)にセット
            BodyElement = ElementManager.Elements.FIRE;
        }


        //体の色を現属性に応じて変更
        switch (BodyElement)
        {
        case ElementManager.Elements.FIRE:
            //赤に変更
            bodyMesh.material.SetColor("_Color", Color.red);
            break;

        case ElementManager.Elements.WATER:
            //青に変更
            bodyMesh.material.SetColor("_Color", Color.blue);
            break;

        case ElementManager.Elements.LEAF:
            //緑に変更
            bodyMesh.material.SetColor("_Color", Color.green);
            break;
        }

        //体力が0以下になった際に、ゲームの状態を更新
        if (Health <= 0)
        {
            //体力が負の数になった場合、0にセット
            Health = 0;

            //ゲームの状態を”ゲームオーバー”に変更
            GameStateManager.CurrentState = GameStateManager.GameStates.GAMEOVER;
        }
    }
Beispiel #5
0
    }                                               //弱点属性に対するダメージ


    public void SetElements(ElementManager.Elements element)  //属性を設定
    {
        //属性に応じて同属性と弱点属性を設定
        switch (element)
        {
        case ElementManager.Elements.FIRE:
            ElementSame = ElementManager.Elements.FIRE;
            ElementWeak = ElementManager.Elements.LEAF;
            break;

        case ElementManager.Elements.WATER:
            ElementSame = ElementManager.Elements.WATER;
            ElementWeak = ElementManager.Elements.FIRE;
            break;

        case ElementManager.Elements.LEAF:
            ElementSame = ElementManager.Elements.LEAF;
            ElementWeak = ElementManager.Elements.WATER;
            break;
        }
    }