private static bool TryCreateChest(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x178_GizmoType == GizmoType.Chest) { interested = true; if (IsValidGizmoChest(acd)) { item = new MapMarkerAcdChest(acd, IsValidGizmoChest); return(true); } } else if (acd.x178_GizmoType == GizmoType.LoreChest) { interested = true; if (IsValidGizmoLoreChest(acd)) { item = new MapMarkerAcdChest(acd, IsValidGizmoLoreChest); return(true); } } else if (acd.x178_GizmoType == GizmoType.Switch) { interested = true; switch (acd.x090_ActorSnoId) { case 0x0005900F: // x1_Global_Chest_CursedChest case 0x00059229: // x1_Global_Chest_CursedChest_B item = new MapMarkerAcdCursedChest(acd, IsValidSwitchCursedChest); return(true); } } return(false); }
private static bool TryCreateChest(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x180_GizmoType == GizmoType.Chest) { interested = true; if (IsValidGizmoChest(acd)) { item = new MapMarkerAcdChest(acd, IsValidGizmoChest); return true; } } else if (acd.x180_GizmoType == GizmoType.LoreChest) { interested = true; if (IsValidGizmoLoreChest(acd)) { item = new MapMarkerAcdChest(acd, IsValidGizmoLoreChest); return true; } } else if (acd.x180_GizmoType== GizmoType.Switch) { interested = true; switch (acd.x090_ActorSnoId) { case 0x0005900F: // x1_Global_Chest_CursedChest case 0x00059229: // x1_Global_Chest_CursedChest_B item = new MapMarkerAcdCursedChest(acd, IsValidSwitchCursedChest); return true; } } return false; }
public void RemoveMarker(IMapMarker marker) { marker.MapView = null; var markerBase = marker as GoogleMapsMarkerBase; foreach (var markerKey in markerBase.Markers.Keys.ToList()) { var mapId = markerBase.Markers[markerKey].Id; if (_markers.ContainsKey(mapId)) { _markers.Remove(mapId); } try { markerBase.Markers[markerKey].Remove(); } catch (Exception e) { MvxTrace.Warning("An error occurred while removing marker id = {0}: {1}", mapId, e); } finally { markerBase.DetachMarker(markerKey); } } }
private void HandleMarker(IMapMarker marker) { if (!_markerTextures.ContainsKey(marker.TextureIdentifier)) { using (var str = marker.GetImage()) { _markerTextures.Add(marker.TextureIdentifier, Texture2D.FromStream(_device, str)); } } if (!marker.Visible) { return; } var vp = _map.LatLonToViewPoint(marker.Position); vp -= marker.Offset; var rect = new MapRectangle((int)Math.Round(vp.X), (int)Math.Round(vp.Y), marker.Size.Width, marker.Size.Height); // Check if a part of the thing is drawn at all... if (rect.X < -(rect.Width) || rect.Y < -(rect.Height) || rect.X > ViewBounds.X + ViewBounds.Width || rect.Y > ViewBounds.Y + ViewBounds.Height) { return; } var srcRect = _map.GetSourceRectangle(rect); var destRect = _map.GetDestRectangle(rect); _sBatch.Draw(_markerTextures[marker.TextureIdentifier], destRect.ToRectangle(), srcRect.ToRectangle(), Color.White); }
public T GetDataForMarker <T>(IMapMarker marker) { var keyValuePair = _markers.FirstOrDefault(x => x.Value == marker); if (keyValuePair.Key != null) { return((T)keyValuePair.Key); } return(default(T)); }
private void OnExplore(Vector2 pos, int radius, bool showMap) { var chunkPos = World.WorldToChunk(World.Vec3ToWorld(new Vector3(pos.x, 0, pos.y))); //_worldmap.SetOrigin(chunkPos.cx, chunkPos.cy); _worldmap.RevealArea(new Vector2(pos.x, pos.y), radius); if (_spawnMarker == null && GameManager.instance.clientData.mapFlagIconPrefab != null) { _spawnMarker = CreateMapMarker(GameManager.instance.clientData.mapFlagIconPrefab, EMapMarkerStyle.Normal); } _spawnMarker.worldPosition = pos; ShowWorldMap(showMap); }
private static bool TryCreateMonster(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x17C_ActorType == ActorType.Monster) { interested = true; if (IsValidMonster(acd)) { item = new MapMarkerAcdMonster(acd, IsValidMonster); return(true); } } return(false); }
private static bool TryCreateMonster(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x184_ActorType == ActorType.Monster) { interested = true; if (IsValidMonster(acd)) { item = new MapMarkerAcdMonster(acd, IsValidMonster); return true; } } return false; }
private static bool TryCreateWreckable(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x178_GizmoType == GizmoType.BreakableChest || acd.x178_GizmoType == GizmoType.BreakableDoor || acd.x178_GizmoType == GizmoType.DestroyableObject) { interested = true; if (IsValidGizmoWreckableObject(acd)) { item = new MapMarkerAcdWreckable(acd, IsValidGizmoWreckableObject); return(true); } } return(false); }
private static bool TryCreateWreckable(ActorCommonData acd, out IMapMarker item, ref bool interested) { item = null; if (acd.x180_GizmoType == GizmoType.BreakableChest || acd.x180_GizmoType == GizmoType.BreakableDoor || acd.x180_GizmoType == GizmoType.DestroyableObject) { interested = true; if (IsValidGizmoWreckableObject(acd)) { item = new MapMarkerAcdWreckable(acd, IsValidGizmoWreckableObject); return true; } } return false; }
public void AddMarker(IMapMarker marker) { var markerBase = marker as GoogleMapsMarkerBase; marker.MapView = this; foreach (var keyValuePair in markerBase.GetOptions()) { markerBase.AttachMarker(keyValuePair.Key, _map.AddMarker(keyValuePair.Value)); } foreach (var mapMarker in markerBase.Markers) { _markers[mapMarker.Value.Id] = marker; } }
private void RaiseMapMakerClickedEvent(IMapMarker marker) { this.MarkerClicked?.Invoke(this, new MapMarkerClickEventArgs(marker)); }
public MapMarkerClickEventArgs(IMapMarker mapMarker) { this.Marker = mapMarker; }
public void RemoveMarker(IMapMarker marker) { (marker as Marker).Map = null; }
public void AddMarker(IMapMarker marker) { (marker as Marker).Map = _mapView; }