public void CreateMapMarker(EventMarker marker) { if (Repository.Instance != null) { Repository.Instance.CreateMapMarker(marker); } }
public void StartEventCreator() { var coordinates = Manager.GetCurrentCoordinates(); CurrentEventMarker = EventMarker.FromCoordinates(coordinates); _myAnimator.SetBool("ShowCreateEvent", true); }
void LoadEventsPool() { // XML Loading eventsPool = new List <EventMarker>(); string path = Paths.GetEventsPoolFile(); XmlDocument poolFile = new XmlDocument(); try { poolFile.Load(path); } catch (FileNotFoundException e) { Logger.Throw("Could not access events pool file at path " + path + ". Error : " + e.ToString()); return; } // XML Parsing & List filling XmlNodeList pools = poolFile.SelectNodes("events")[0].ChildNodes; foreach (XmlNode pool in pools) { foreach (XmlNode xEventMarker in pool.ChildNodes) { // Most probably a comment - skip if (xEventMarker.Name != "event") { continue; } // Bulletin creation EventMarker marker = new EventMarker() { eventId = System.Convert.ToInt32(xEventMarker.InnerText), time = System.Convert.ToSingle(xEventMarker.Attributes["time"].Value), minCycle = System.Convert.ToInt32(pool.Attributes["minCycle"].Value) }; if (marker.minCycle < noEventsBefore) { noEventsBefore = marker.minCycle; } eventsPool.Add(marker); } } Logger.Debug("Loaded " + eventsPool.Count.ToString() + " events into the pool"); //Shuffling System.Random rng = new System.Random((System.Int32)System.DateTime.Now.TimeOfDay.TotalMilliseconds); eventsPool = eventsPool.OrderBy((a => rng.Next())).ToList(); // Loading first cycle of Events if (eventsPool.Count != 0) { Renew(0); } else { Logger.Warn("Loaded zero event into the pool (?) - Please check the XML eventPool"); } }
public async Task <IEnumerable <EventMarker> > GetEvents() { var events = await _repo.GetAll(); var eventMarkers = new List <EventMarker>(); foreach (var item in events) { try { var eventMarker = new EventMarker { EventId = item.EventId, Title = item.Title, Start = item.Start, End = item.End, Lat = item.Location.Lat, Long = item.Location.Long }; eventMarkers.Add(eventMarker); } catch (Exception e) { Debug.WriteLine("Something went wrong mapping events to event markers."); Debug.WriteLine(e.Message); } } return(eventMarkers); }
public void Renew(int currentCycle) { // Game Over float average = 0f; foreach (Population pop in GameManager.instance.populationManager.populationTypeList) { average += GameManager.instance.populationManager.GetAverageMood(pop); } average /= GameManager.instance.populationManager.populationTypeList.Length; if (average < gameOverThreshold) { TriggerEvent(1000, true); } // No events yet if (currentCycle < noEventsBefore) { Logger.Debug("Skipping event renewal for cycle " + currentCycle + " : no events before cycle " + noEventsBefore); return; } // Random event per day float random = Random.value; if (random < chances) { EventMarker pick = null; List <EventMarker> newList = new List <EventMarker>(); foreach (EventMarker candidate in eventsPool) { if (pick == null && candidate.minCycle <= currentCycle) { pick = candidate; continue; } newList.Add(candidate); } if (pick == null) { // No more bulletins, let's reload LoadEventsPool(); return; } triggerEventWhenPossible = true; triggerTime = pick.time; nextEvent = pick.eventId; eventsPool = newList; chances = 0f; } else { chances += chanceIncreasePerCycle; } }
public void UpdateEvent() { var coordinates = Manager.GetCurrentCoordinates(); CurrentEventMarker = EventMarker.FromCurrentEvent(coordinates, CurrentEventMarker); _myAnimator.SetBool("ShowCreateEvent", true); _myAnimator.SetBool("ShowDisplayEvent", false); CreateEventHandler.Instance.SetPreviousValue(); }
public override int DoChartGUI(int currentFrame, ProfilerArea currentArea, out Chart.ChartAction action) { int result = base.DoChartGUI(currentFrame, currentArea, out action); if (this.m_Markers != null && this.showMarkers) { Rect lastRect = GUILayoutUtility.GetLastRect(); lastRect.xMin += 170f; for (int i = 0; i < this.m_Markers.Length; i++) { EventMarker eventMarker = this.m_Markers[i]; Color color = ProfilerColors.colors[(int)(checked ((IntPtr)(unchecked ((ulong)eventMarker.objectInstanceId % (ulong)((long)ProfilerColors.colors.Length)))))]; Chart.DrawVerticalLine(eventMarker.frame, this.m_Data, lastRect, color.AlphaMultiplied(0.3f), color.AlphaMultiplied(0.4f), 1f); } this.DrawMarkerLabels(this.m_Data, lastRect, this.m_Markers, this.m_MarkerNames); } return(result); }
public void SetMarker(EventMarker eventMarker) { _eventMarker = eventMarker; var color = GetSeverityColor(_eventMarker.Severity); color.a = 0.05f; BeamRenderer.material.SetColor("_Color", color); color.a = 1; LedRenderer.materials[1].SetColor("_Color", color); var mesh = GetAnimalMesh(_eventMarker.Animal); MeshFilter.mesh = mesh; var material = GetAnimalMaterial(_eventMarker.Animal); AnimalRenderer.material = material; }
private IEnumerator NearbySearch(Coordinates center, float radius) { const string url = "https://webhooks.mongodb-stitch.com/api/client/v2.0/app/hugapupbackend-nrlaq/service/HugapupBackendHTTP/incoming_webhook/getEvents"; var www = new WWW(url); yield return(www); if (!string.IsNullOrEmpty(www.error)) { yield break; } var response = www.text; var results = (IList)Json.Deserialize(response); foreach (IDictionary result in results) { var eventMarker = EventMarker.FromDictionary(result); if (eventMarker == null) { continue; } if (!_markers.ContainsKey(eventMarker.Id) || _markers[eventMarker.Id] == null) { var coordinates = new Coordinates(eventMarker.X, eventMarker.Y, 0); var eventMarkerPrefab = Instantiate(EventPrefab); var position = coordinates.convertCoordinateToVector(0); eventMarkerPrefab.transform.localPosition = position; eventMarkerPrefab.transform.SetParent(transform); eventMarkerPrefab.SetMarker(eventMarker); _markers.Add(eventMarker.Id, eventMarkerPrefab); } } }
public void CreateMapMarker(EventMarker marker) { var json = marker.ToJson(); StartCoroutine(Post(_stitchUrl, json)); }
public void CloseWindows() { CurrentEventMarker = null; _myAnimator.SetBool("ShowCreateEvent", false); _myAnimator.SetBool("ShowDisplayEvent", false); }