public DayClass(DateTime date, MovesJson day, int number, bool canChangeWeight) { this.date = date; this.day = day; dayNumber = number; this.canChangeWeight = canChangeWeight; }
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(); }
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)); }
public void AnalyseDay(MovesJson day) { foreach (var item in day.segments) { if (item.place != null && item.place.name != null) { AddOrSetupRanking(item.place, day, item); } } }
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); } } } } }
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; } } }
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); }
public DayClass(DateTime date, MovesJson day, int number) { this.date = date; this.day = day; dayNumber = number; }
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); }