//------------------------------------------------------------------------------------------------- //エフェクトボタンの表示処理------------------------------------------------------------------------------ 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; } }
//-------------------------------------------------------------------------------------------------------- //移動ボタンの表示処理----------------------------------------------------------------------------- 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); } }
//------------------------------------------------------------------------------------------------- //攻撃ボタンの表示処理--------------------------------------------------------------------------------------------- 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 ); //} } }