Exemple #1
0
 public void CreateMapMarker(EventMarker marker)
 {
     if (Repository.Instance != null)
     {
         Repository.Instance.CreateMapMarker(marker);
     }
 }
Exemple #2
0
        public void StartEventCreator()
        {
            var coordinates = Manager.GetCurrentCoordinates();

            CurrentEventMarker = EventMarker.FromCoordinates(coordinates);
            _myAnimator.SetBool("ShowCreateEvent", true);
        }
Exemple #3
0
    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);
        }
Exemple #5
0
    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;
        }
    }
Exemple #6
0
        public void UpdateEvent()
        {
            var coordinates = Manager.GetCurrentCoordinates();

            CurrentEventMarker = EventMarker.FromCurrentEvent(coordinates, CurrentEventMarker);

            _myAnimator.SetBool("ShowCreateEvent", true);
            _myAnimator.SetBool("ShowDisplayEvent", false);

            CreateEventHandler.Instance.SetPreviousValue();
        }
Exemple #7
0
        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);
        }
Exemple #8
0
    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;
    }
Exemple #9
0
        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);
                }
            }
        }
Exemple #10
0
        public void CreateMapMarker(EventMarker marker)
        {
            var json = marker.ToJson();

            StartCoroutine(Post(_stitchUrl, json));
        }
Exemple #11
0
 public void CloseWindows()
 {
     CurrentEventMarker = null;
     _myAnimator.SetBool("ShowCreateEvent", false);
     _myAnimator.SetBool("ShowDisplayEvent", false);
 }