public List <TileData> GetSplitRangeTiles(RawSlime slime) { List <TileData> splitTiles = new List <TileData> (); foreach (TileData td in matrix.getNeighbours(slime.GetTileData(), true)) { if (td.GetRawSlimeOnTop() == null) { splitTiles.Add(td); } } return(splitTiles); }
public List <RawSlime> GetFusionTargets(RawSlime slime) { List <RawSlime> fusionSlimes = new List <RawSlime> (); foreach (TileData tile in matrix.getNeighbours(slime.GetTileData(), true)) { RawSlime overSlime = tile.GetRawSlimeOnTop(); if (overSlime != null && overSlime.GetPlayer() == slime.GetPlayer()) { fusionSlimes.Add(overSlime); } } return(fusionSlimes); }
public void RemoveSlime(RawSlime sl) { sl.GetTileData().SetSlimeOnTop((RawSlime)null); this.slimes.Remove(sl); }