Ejemplo n.º 1
0
    //-------------------------------------------------------------------------------------------------


    //エフェクトボタンの表示処理------------------------------------------------------------------------------
    void EffectButtonActiveConditions(CardMain card, Participant turnPlayer, Square nowSquare)
    {
        if (MainPhase._precedenceOneTurnFlag)
        {
            return;
        }

        //効果の種類によって処理を変える
        //効果ボタン表示条件
        switch (card.Card_Data._effect_type)
        {
        case CardData.EFFECT_TYPE.ATTACK:
            if (turnPlayer.DecreaseActivePointConfirmation(card.Card_Data._necessaryAPForEffect) &&
                _field.AttackEffectPossibleOnCardSquare(card, nowSquare).Count > 0)
            {
                ButtonActiveChanger(true, BUTTON.EFFECT);
            }
            break;

        case CardData.EFFECT_TYPE.MOVE:
            if (turnPlayer.DecreaseActivePointConfirmation(card.Card_Data._necessaryAPForEffect) &&
                _field.MovePossibleSquare(card, card.Card_Data._effect_direction, nowSquare, card.Card_Data._effect_distance).Count > 0 &&
                card.Action_Count < card.MAX_ACTION_COUNT)
            {
                ButtonActiveChanger(true, BUTTON.EFFECT);
            }
            break;

        case CardData.EFFECT_TYPE.RECOVERY:
            if (turnPlayer.DecreaseActivePointConfirmation(card.Card_Data._necessaryAPForEffect) &&
                card.Card_Data._toughness < card.Card_Data._maxToughness)
            {
                ButtonActiveChanger(true, BUTTON.EFFECT);
            }
            break;

        case CardData.EFFECT_TYPE.NO_EFFECT:
            break;

        default:
            Debug.Log("想定していない効果がボタン表示に来ています");
            break;
        }
    }
Ejemplo n.º 2
0
    //--------------------------------------------------------------------------------------------------------


    //移動ボタンの表示処理-----------------------------------------------------------------------------
    void MoveButtonActiveConditions(CardMain card, Participant turnPlayer, Square nowSquare)
    {
        if (MainPhase._precedenceOneTurnFlag)
        {
            return;
        }

        //APが消費する分あって移動できるマスがあったてまだ行動できるカードだったら
        if (turnPlayer.DecreaseActivePointConfirmation(card.Card_Data._necessaryAP) &&
            _field.MovePossibleSquare(card, card.Card_Data._directionOfTravel, nowSquare).Count > 0 &&
            card.Action_Count < card.MAX_ACTION_COUNT)
        {
            ButtonActiveChanger(true, BUTTON.MOVE);
        }
    }
Ejemplo n.º 3
0
    //-------------------------------------------------------------------------------------------------


    //攻撃ボタンの表示処理---------------------------------------------------------------------------------------------
    void DirectAttackButtonActiveConditions(CardMain card, Participant turnPlayer, Square nowSquare)
    {
        if (MainPhase._precedenceOneTurnFlag)
        {
            return;
        }

        //消費するAPがあってまだ行動できるカードだったら
        if (turnPlayer.DecreaseActivePointConfirmation(card.Card_Data._necessaryAP) &&
            card.Action_Count < card.MAX_ACTION_COUNT)
        {
            if (((nowSquare.Index) / ConstantStorehouse.SQUARE_ROW_NUM == ConstantStorehouse.FIRST_ROW_INDEX) && card.gameObject.tag == "Player1")                              //一列目にいたら攻撃ボタンを表示//修正するだろうからマジックナンバーを放置
            {
                ButtonActiveChanger(true, BUTTON.DIRECT_ATTACK);
            }

            //if ( ( ( _nowSquare.Index ) / SQUARE_ROW_NUM == FIFTH_ROW_INDEX ) && _card.gameObject.tag == "Player2" ) {		//五列目にいたら攻撃ボタンを表示//修正するだろうからマジックナンバーを放置
            //	_directAttackButton.SetActive( true );
            //}
        }
    }