public bool HandleClick(Rectangle mouseBounds) { var handled = HandleTerrainClicked(mouseBounds.Location); if (handled) { return(true); } var enemyChar = CharactersUtils.FindCharacterAtPosition(EnemyArmy, mouseBounds.Location); if (enemyChar != null) { HandleCharacterClicked(enemyChar); return(true); } var userChar = CharactersUtils.FindCharacterAtPosition(UserArmy, mouseBounds.Location); if (userChar != null) { HandleCharacterClicked(userChar); return(true); } return(false); }
public override void OnShow() { UserArmy = _actions.UserArmy = _terrainController.UserArmy = ((TerrainActionContext)Parent.Context).UserArmy; EnemyArmy = _actions.EnemyArmy = _terrainController.EnemyArmy = ((TerrainActionContext)Parent.Context).EnemyArmy; CharactersUtils.InitArmyPostion(UserArmy, 1, 1, 0); CharactersUtils.InitArmyPostion(EnemyArmy, 1, 1, 1); foreach (var enemyChar in EnemyArmy.Characters) { enemyChar.TargetX = GlobalUtils.Rand(_legionConfig.WorldWidth); enemyChar.TargetY = GlobalUtils.Rand(_legionConfig.WorldHeight); enemyChar.CurrentAction = CharacterActionType.Move; } }