//攻撃効果のダメージによる処理---------------------------------------- public void CardEffectDamage(Square onCardSquare, int damage) { if (onCardSquare == null) { Debug.Log("[エラー]マスがありません"); return; } CardMain damageCard = onCardSquare.On_Card; damageCard.Damage(damage); if (damageCard.Card_Data._toughness == 0) { damageCard.Death( ); onCardSquare.On_Card = null; } }
//----------------------------------------------------------------- //戦闘のダメージ処理によって戦闘の結果を返す------------------------------------------------------ public BATTLE_RESULT CardBattleDamage(Square onPlayerCardSquare, Square onEnemyCardSquare) { if (onPlayerCardSquare == null || onEnemyCardSquare == null) { Debug.Log("[エラー]マスがありません"); return(BATTLE_RESULT.NOT_BATTLE); } CardMain playerCard = onPlayerCardSquare.On_Card; CardMain enemy_card = onEnemyCardSquare.On_Card; playerCard.Damage(enemy_card.Card_Data._attack); enemy_card.Damage(playerCard.Card_Data._attack); if (playerCard.Card_Data._toughness == 0 && enemy_card.Card_Data._toughness == 0) { onPlayerCardSquare.On_Card = null; onEnemyCardSquare.On_Card = null; return(BATTLE_RESULT.BOTH_DEATH); } if (enemy_card.Card_Data._toughness == 0) { onEnemyCardSquare.On_Card = null; return(BATTLE_RESULT.PLAYER_WIN); } if (playerCard.Card_Data._toughness == 0) { onPlayerCardSquare.On_Card = null; return(BATTLE_RESULT.PLAYER_LOSE); } if (playerCard.Card_Data._toughness > 0 && enemy_card.Card_Data._toughness > 0) { return(BATTLE_RESULT.BOTH_ALIVE); } Debug.Log("[エラー]戦闘の結果がおかしいです"); return(BATTLE_RESULT.NOT_BATTLE); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.A)) { if (_cardDisplayedCount < _cards.Length) { _cards [_cardDisplayedCount++].SetActive(true); } } if (Input.GetKeyDown(KeyCode.B)) { GameObject prefab = (GameObject)Resources.Load("Prefab/Card"); GameObject cardObj = Instantiate(prefab, Vector3.zero, Quaternion.identity); CardMain card = cardObj.GetComponent <CardMain> (); card.loadID = _id; } if (Input.GetKeyDown(KeyCode.C)) { _card = _deck.Draw(); Vector3 effectPosition = _card.transform.position; effectPosition.z = -9; Instantiate(_summonEffect, effectPosition, Quaternion.identity); _card.Reverse(true); //裏返す } if (Input.GetKeyDown(KeyCode.D)) { if (_card) { _card.Damage(3); } } if (Input.GetKeyDown(KeyCode.P)) //これでは音は鳴らせない(Scene上にないとダメらしい) { AudioSource audioSource = new AudioSource(); audioSource.clip = _clip; audioSource.loop = true; audioSource.Play(); } if (Input.GetMouseButtonDown(0)) { Vector3 effectPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); effectPosition.z = -9; Instantiate(_tapEffect, effectPosition, Quaternion.identity); } if (Input.GetKeyDown(KeyCode.E)) { GameObject battleSpaceObj = Instantiate(_battleSpacePrefab, Vector3.zero, Quaternion.identity); AutoDestroyBattleSpace battleSpace = battleSpaceObj.GetComponent <AutoDestroyBattleSpace> (); battleSpace.StartLeftWinAnim(_cardSprite[0], _cardSprite[1]); } if (Input.GetKeyDown(KeyCode.F)) { AutoDestroyBattleSpace battleSpace = Instantiate <AutoDestroyBattleSpace> (_battleSpace, Vector3.zero, Quaternion.identity); battleSpace.StartRightWinAnim(_cardSprite[0], _cardSprite[1]); } if (Input.GetKeyDown(KeyCode.G)) { GameObject battleSpaceObj = Instantiate(_battleSpacePrefab, Vector3.zero, Quaternion.identity); AutoDestroyBattleSpace battleSpace = battleSpaceObj.GetComponent <AutoDestroyBattleSpace> (); battleSpace.StartBothDeathAnim(_cardSprite[0], _cardSprite[1]); } if (Input.GetKeyDown(KeyCode.H)) { AutoDestroyBattleSpace battleSpace = Instantiate <AutoDestroyBattleSpace> (_battleSpace, Vector3.zero, Quaternion.identity); battleSpace.StartBothAliveAnim(_cardSprite[0], _cardSprite[1]); } if (Input.GetKeyDown(KeyCode.I)) { _lifeSpace.StartDirectAttackAnimation(); } if (Input.GetKeyDown(KeyCode.J)) { Instantiate <AutoDestroyEffect> (_blackDamageEffect, Vector3.zero, Quaternion.identity); } if (Input.GetKeyDown(KeyCode.K)) { Instantiate <AutoDestroyEffect> (_recoveryEffect, Vector3.zero, Quaternion.identity); } if (Input.GetKeyDown(KeyCode.L)) { _deck.Shuffle(); } }