AICharacter setUpCharacter(AICharacter aICharacter, Tile targetTile) { aICharacter.ChooseWhatToEat(_desireContainer.chooseWhatToEatBasedOnTaste(aICharacter.Race)); aICharacter.characterCoaster = _monoPool.GetCharacterCoasterInstance(); aICharacter._monoPool = _monoPool; aICharacter.characterCoaster.SetArtForFacing(EnumHolder.Facing.Up); if (targetTile.EntityTypeOnTile == EnumHolder.EntityType.Clear) { aICharacter.TilePawnIsOn = targetTile; aICharacter.TilePawnIsOn.EntityTypeOnTile = EnumHolder.EntityType.Character; } else { for (int i = 0; i < targetTile.neighbors.Count; i++) { if (targetTile.neighbors[i].EntityTypeOnTile == EnumHolder.EntityType.Clear) { aICharacter.TilePawnIsOn = targetTile.neighbors[i]; aICharacter.TilePawnIsOn.EntityTypeOnTile = EnumHolder.EntityType.Character; break; } } } return(aICharacter); }