public void RemoveMapObject(BaseMapObject obj) { MapObjects.Remove(obj); if (obj is IInteractable interactable) { Interactables.Remove(interactable); } if (obj is User user) { Users.Remove(user); } }
public static void EnsureBaseMapObject(this Module module, JObject obj, BaseMapObject output, string defaultImageName) { var imageName = obj.OptionalString(Compiler.ImageName, defaultImageName); output.Image = module.Appearances.Ensure(imageName); var symbolStr = obj.EnsureString("Symbol"); if (symbolStr.Length != 1) { RaiseError("Unable to read '{0}' as symbol.", symbolStr); } output.Symbol = symbolStr[0]; }
public void AddMapObject(BaseMapObject obj) { MapObjects.Add(obj); if (obj is IInteractable interactable) { Interactables.Add(interactable); } if (obj is User user) { Users.Add(user); } }
/// <summary> /// Sets the object to anchor the Window to. /// </summary> /// <param name="anchorObject">An object, typically a Marker, Polygon or Polyline</param> public void SetAnchor(BaseMapObject anchorObject) { this.anchor = anchorObject; }