public Warp GetWarp(int x, int y) { for (int c = 0; c < Location.warps.Count; c++) { if (Location.warps[c].X == x && Location.warps[c].Y == y) { return(Warp.Wrap(Location.warps[c])); } } throw new NullReferenceException(); }
public bool TryGetWarp(int x, int y, out Warp warp) { warp = default(Warp); for (int c = 0; c < Location.warps.Count; c++) { if (Location.warps[c].X == x && Location.warps[c].Y == y) { warp = Warp.Wrap(Location.warps[c]); return(true); } } return(false); }
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); }
internal static StardewValley.Warp Unwrap(Warp obj) { return(new StardewValley.Warp(obj.X, obj.Y, obj.Target, obj.TargetX, obj.TargetY, false)); }