public void SetWarp(Warp warp, bool replace = false) { for (int c = 0; c < Location.warps.Count; c++) { if (Location.warps[c].X == warp.X && Location.warps[c].Y == warp.Y) { if (!replace) { throw new InvalidOperationException(); } Location.warps[c] = Warp.Unwrap(warp); return; } } Location.warps.Add(Warp.Unwrap(warp)); }
public bool TrySetWarp(Warp warp, bool replace = false) { for (int c = 0; c < Location.warps.Count; c++) { if (Location.warps[c].X == warp.X && Location.warps[c].Y == warp.Y) { if (!replace) { return(false); } Location.warps[c] = Warp.Unwrap(warp); break; } } Location.warps.Add(Warp.Unwrap(warp)); return(true); }