void CheckForInteraction() { RaycastHit2D rh2d = Physics2D.Raycast(((Vector2)transform.position + oM.raycastOffset), direction, .5f, mask); if (rh2d.transform != null) { if (rh2d.transform.gameObject.layer == LayerMask.NameToLayer("BattlePC")) { BattleDef newBattle = GetComponent <EncounterRoller>().RollEncounter(tempArmyDangerZone); if (newBattle != null) { //returnPosition = transform.position; newBattle.pcsInBattle = PartyManager.curParty.partyMembers; battleStarter.GetComponent <BattleStarter>().TurnOnBattleScene(newBattle); } EndTurn(); //Start special battle } else if (rh2d.transform.gameObject.layer == LayerMask.NameToLayer("Settlement")) { this.enabled = false; BattleArmy enemyBattleArmy = rh2d.transform.gameObject.GetComponent <BattleArmy>(); BattleArmy thisBattleArmy = GetComponent <BattleArmy>(); thisBattleArmy.DoAttackTurn(enemyBattleArmy); enemyBattleArmy.DoAttackTurn(thisBattleArmy); EndTurn(); //Resolve 1 round of strategic battle } else if (rh2d.transform.gameObject.layer == army.value) { EndTurn(); //Resolve 1 round of strategic battle } } }