public void CounterAttackClick() { GameObject enemy = GameObject.Find("CounterMenuCanvas").GetComponent <CounterCombatHandler>().approachingEnemy; if (enemy) { EnemiesAutonomousBehavior enemyBehaviour = enemy.GetComponent <EnemiesAutonomousBehavior>(); if (!enemyBehaviour.counterAttacked) { enemyBehaviour.counterAttacked = true; PlayerModel.CurrentModel.defended++; Debug.Log("Current Model 'defended' value increased by 1.\nCurrent 'defended' is: " + PlayerModel.CurrentModel.defended); } } if (!GameObject.Find("MenuCanvas").GetComponent <Attack>().lockAttack) { GameObject.Find("MenuCanvas").GetComponent <Attack>().lockAttack = true; GameObject player = GameObject.Find("PlayerCreatures/" + PlayerInfo.selectedCreature.ToString()); if (enemy) { int damageDealt = 5 + 5 * player.GetComponent <SpeciesAttributes>().attackUpgrade - 5 * enemy.GetComponent <EnemiesAttributes>().deffenseUpgrade - enemy.GetComponent <EnemiesAttributes>().persona.Defense; if (damageDealt < 0) { damageDealt = 0; } enemy.GetComponent <EnemiesAttributes>().life -= damageDealt; GameObject attackSprite = new GameObject("AttackSprite"); SpriteRenderer spriteRenderer = attackSprite.AddComponent <SpriteRenderer>(); Sprite cloudSprite = Resources.Load <Sprite>("cloud-normal"); spriteRenderer.sprite = cloudSprite; attackSprite.transform.position = enemy.transform.position; GameObject angrySprite = new GameObject("AngrySprite"); SpriteRenderer angrySpriteRenderer = angrySprite.AddComponent <SpriteRenderer>(); Sprite angrySpriteRender = Resources.Load <Sprite>(PlayerInfo.selectedSpecies.ToString() + "-atk"); angrySpriteRenderer.sprite = angrySpriteRender; Vector3 angryPosition; angryPosition.x = player.transform.position.x + player.GetComponent <BoxCollider>().size.x + 1; angryPosition.y = player.transform.position.y + player.GetComponent <BoxCollider>().size.y + 1; angryPosition.z = player.transform.position.z; angrySprite.transform.position = angryPosition; StartCoroutine(FlashCloud(attackSprite)); StartCoroutine(FinishAttack(attackSprite, angrySprite)); } } }
public void IgnoreAttackClick() { GameObject enemy = GameObject.Find("CounterMenuCanvas").GetComponent <CounterCombatHandler>().approachingEnemy; if (enemy) { EnemiesAutonomousBehavior enemyBehaviour = enemy.GetComponent <EnemiesAutonomousBehavior>(); if (!enemyBehaviour.ran) { PlayerModel.CurrentModel.ran++; Debug.Log("Current Model 'ran' value increased by 1.\nCurrent 'ran' is: " + PlayerModel.CurrentModel.ran); enemyBehaviour.counterAttacked = true; } } CounterCombatHandler counterHandler = GameObject.Find("CounterMenuCanvas").GetComponent <CounterCombatHandler>(); GameObject enemyToIgnore = counterHandler.approachingEnemy; counterHandler.ignoredEnemy.Add(enemyToIgnore); StartCoroutine(RemoveIgnoredEnemy(enemyToIgnore)); GameObject.Find("CounterBackground").SetActive(false); }