Exemplo n.º 1
0
 public DayClass(DateTime date, MovesJson day, int number, bool canChangeWeight)
 {
     this.date            = date;
     this.day             = day;
     dayNumber            = number;
     this.canChangeWeight = canChangeWeight;
 }
Exemplo n.º 2
0
    IEnumerator RenderAfterTime(MovesJson m)
    {
        yield return(new WaitForSeconds(0.3f));

        // Summary
        foreach (var item in m.summary)
        {
            SpawnSummary(item);
        }

        // ActivityUI
        foreach (var item in m.segments)
        {
            if (item.place == null)
            {
                for (int i = 0; i < item.activities.Length; i++)
                {
                    SpawnActivity(item.activities[i].activity, item.activities[i].distance, item.activities[i].duration, ReturnDateTime(item.activities[i].endTime));
                }
            }
            else
            {
                double distance = 0;
                if (item.activities != null)
                {
                    foreach (var item2 in item.activities)
                    {
                        distance += item2.distance;
                    }
                }
                SpawnActivity(null, distance, CalculateTime(item.startTime, item.endTime), ReturnDateTime(item.endTime), item.place);
            }
        }
        ValidateIfNoReapeted();
    }
Exemplo n.º 3
0
 void DrawTimeline(MovesJson m)
 {
     animator.SetTrigger("Refresh");
     foreach (var item in selectedDayDateText)
     {
         item.text = ReturnSimpleDate(m.date).ToString("dd MMMMM yyyy");
     }
     ChartUI.instance.CheckChartSelected();
     StartCoroutine(RenderAfterTime(m));
 }
Exemplo n.º 4
0
 public void AnalyseDay(MovesJson day)
 {
     foreach (var item in day.segments)
     {
         if (item.place != null && item.place.name != null)
         {
             AddOrSetupRanking(item.place, day, item);
         }
     }
 }
Exemplo n.º 5
0
    public void RenderDay(MovesJson day)
    {
        GameObject dateGO = Instantiate(new GameObject(), transform.position, transform.rotation);

        dateGO.transform.SetParent(gameObject.transform);
        dateGO.name = day.date;
        filterDays.Add(ReadJson.ReturnSimpleDate(day.date), dateGO);

        foreach (var item in day.segments)
        {
            if (item.place != null && !alreadyRenderedPlaces.Contains(item.place.id) && item.place.name != null)
            {
                Vector2    position  = Conversion.LatLonToMeters(item.place.location.lat, item.place.location.lon);
                Vector3    finalPos  = new Vector3(position.x, position.y, 0);
                GameObject placeTemp = Instantiate(PlacePrefab, finalPos, transform.rotation);
                placeTemp.transform.SetParent(loactionsGO.transform);
                finalPos   = placeTemp.transform.position;
                finalPos.z = -3;
                placeTemp.transform.position = finalPos;
                placeTemp.name = item.place.name;
                placeTemp.GetComponent <Place>().SetupPlace(item.place);
                alreadyRenderedPlaces.Add(item.place.id);
            }
            else if (item.place == null)
            {
                foreach (var item2 in item.activities)
                {
                    if (item2.trackPoints.Length > 0)
                    {
                        GameObject lineTempGo = Instantiate(LinePrefab, transform.position, transform.rotation);
                        lineTempGo.transform.SetParent(dateGO.transform);
                        lineTempGo.name = item2.activity.ToString();
                        LineRenderer lineTemp = lineTempGo.GetComponent <LineRenderer>();

                        // Set Line points
                        List <Vector3> positions = new List <Vector3>();
                        foreach (var item3 in item2.trackPoints)
                        {
                            positions.Add(Conversion.LatLonToMeters(item3.lat, item3.lon));
                        }
                        Vector3[] positionsArray = positions.ToArray();
                        lineTemp.positionCount = positionsArray.Length;
                        lineTemp.SetPositions(positions.ToArray());

                        // Set lines color
                        lineTempGo.GetComponent <Renderer>().material = SetMaterial(item2.activity);

                        // Add line to filters
                        AddToFilterList(item2.activity, lineTempGo);
                        renderedLines.Add(lineTemp);
                    }
                }
            }
        }
    }
Exemplo n.º 6
0
    public void CheckMaxCalories(MovesJson day)
    {
        double caloriesCount = 0;

        if (day.summary != null)
        {
            foreach (var item in day.summary)
            {
                caloriesCount += item.calories;
            }
            if (maxCalories < caloriesCount)
            {
                maxCalories = (int)caloriesCount;
            }
        }
    }
Exemplo n.º 7
0
    void AddOrSetupRanking(MovesJson.SegmentsInfo.PlaceInfo place, MovesJson day, MovesJson.SegmentsInfo segmentInfo)
    {
        PlaceGroup placeTarget = new PlaceGroup();

        if (places.TryGetValue(place.id, out placeTarget))
        {
            placeTarget.timesVisited += 1;
            placeTarget.AddHoursSplit(ReadJson.ReturnDateTime(segmentInfo.startTime), ReadJson.ReturnDateTime(segmentInfo.endTime));
        }
        else
        {
            placeTarget = new PlaceGroup(place, ReadJson.ReturnDateTime(segmentInfo.startTime), ReadJson.ReturnDateTime(segmentInfo.endTime));
            places.Add(place.id, placeTarget);
        }
        placeTarget.lastVisited = ReadJson.ReturnSimpleDate(day.date);
    }
Exemplo n.º 8
0
 public DayClass(DateTime date, MovesJson day, int number)
 {
     this.date = date;
     this.day  = day;
     dayNumber = number;
 }
Exemplo n.º 9
0
    public int RenderDay(MovesJson day)
    {
        int        renderedPoints = 0;
        GameObject dateGO         = Instantiate(new GameObject(), transform.position, transform.rotation);

        dateGO.transform.SetParent(gameObject.transform);
        dateGO.name = day.date;
        filterDays.Add(ReadJson.ReturnSimpleDate(day.date), dateGO);

        foreach (var item in day.segments)
        {
            if (item.place != null && !alreadyRenderedPlaces.Contains(item.place.id))
            {
                Vector2    position  = Conversion.LatLonToMeters(item.place.location.lat, item.place.location.lon);
                Vector3    finalPos  = new Vector3(position.x, position.y, 0);
                GameObject placeTemp = Instantiate(PlacePrefab, finalPos, transform.rotation);
                placeTemp.transform.SetParent(loactionsGO.transform);
                finalPos   = placeTemp.transform.position;
                finalPos.z = -3;
                placeTemp.transform.position = finalPos;
                if (item.place.name == null)
                {
                    placeTemp.name = "???";
                }
                else
                {
                    placeTemp.name = item.place.name;
                }
                placeTemp.GetComponent <Place>().SetupPlace(item.place);
                alreadyRenderedPlaces.Add(item.place.id);
            }
            else if (item.place == null)
            {
                foreach (var item2 in item.activities)
                {
                    if (item2.trackPoints.Length > 0)
                    {
                        GameObject lineTempGo = Instantiate(LinePrefab, transform.position, transform.rotation);
                        lineTempGo.transform.SetParent(dateGO.transform);
                        lineTempGo.name = item2.activity.ToString();
                        LineRenderer lineTemp = lineTempGo.GetComponent <LineRenderer>();

                        // Set Line points
                        List <Vector3> positions = new List <Vector3>();
                        foreach (var item3 in item2.trackPoints)
                        {
                            positions.Add(Conversion.LatLonToMeters(item3.lat, item3.lon));
                        }
                        if (item2.activity == ActivityType.walking || item2.activity == ActivityType.cycling || item2.activity == ActivityType.running)
                        {
                            positions = SimplifyPath.Simplify(positions, simplifyMultiplayerDetailed);
                        }
                        else
                        {
                            positions = SimplifyPath.Simplify(positions, simplifyMultiplayer);
                        }
                        renderedPoints += positions.Count;
                        Vector3[] positionsArray = positions.ToArray();
                        lineTemp.positionCount = positionsArray.Length;
                        lineTemp.SetPositions(positionsArray);

                        // Set lines color
                        lineTempGo.GetComponent <Renderer>().material = SetMaterial(item2.activity);

                        // Add line to filters
                        AddToFilterList(item2.activity, lineTempGo);
                        renderedLines.Add(lineTemp);
                        lineTempGo.SetActive(filterState[(int)TranslateActivityToFilter(item2.activity)]);
                        if (item2.distance < maxMetersForShortPath)
                        {
                            shortPaths.Add(lineTempGo);
                        }
                    }
                }
            }
        }
        return(renderedPoints);
    }