Mam funkcję, która ustawia stan rysowania dla konkretnej płytki z innym kafelkiem. Płytka, która jest rysowana, zmieni się porównując płytki, które ją otaczają, a następnie odpowiednio zaktualizuje. Postaram się pokazać, że poniżejCzy istnieje sposób na wyjście z funkcji, która zwraca void?
[b] [b] [a]
[b] [a] [a]
[a] [a] [a] where a = sand && b = water
gdy wykryje, że b graniczy go, musi aktualizować swój draw Państwie. Tak więc mam funkcję, która działa dla dużych i małych liter, z lewej strony i z prawej. Teraz trzeba zmodyfikować tę funkcję dzięki czemu może obsługiwać przypadek lewy-prawy, górny prawy przypadek, prawy dolny przypadek, itp itd. Tu jest mój funkcja
public override void CompareBorderingTiles(Tile T)
{
if (T is Water)
{
float leftBound = location.X - (Tile.TileWidth * Tile.TileScale);
float rightBound = location.X + (Tile.TileWidth * Tile.TileScale);
float upperBound = location.Y - (Tile.TileHieght * Tile.TileScale);
float bottomBound = location.Y + (Tile.TileHieght * Tile.TileScale);
if (T.GridLocation.X == leftBound)
{
drawstate = DrawState.Left;
}
if (T.GridLocation.X == rightBound)
drawstate = DrawState.Right;
if (T.GridLocation.Y == upperBound)
drawstate = DrawState.Upper;
if (T.GridLocation.Y == bottomBound)
drawstate = DrawState.Lower;
}
base.CompareBorderingTiles(T);
}
Powinno być dość wyjaśniająca, dlaczego chciałbym wyjść z tej funkcji, a może nie. Zasadniczo mam wyliczenie, które mówi mi, jaki jest mój stan rysowania (drawstate to enum). Czy ktoś może mi powiedzieć, czy mogę ustawić prawidłowy stan rysowania, a następnie wyjść z mojej funkcji?
ci oznacza, że chcesz zatrzymać swoją funkcję? jeśli to prawda, możesz użyć 'return;' dla niego –