Inheritance: StatsData
Example #1
0
        /// <summary>
        /// Renders the given points.
        /// </summary>
        /// <param name="data">The data to render.</param>
        public virtual void RenderData(PointsData data)
        {
            if (!isActiveAndEnabled)
            {
                return;
            }

            start = data.start;
            end   = data.end;

            if (repeatedSegment != data.repeatedSegment)
            {
                segmentClones.ForEach(Destroy);
                segmentClones.Clear();

                repeatedSegment = data.repeatedSegment;
            }

            UpdateNumberOfClones(data.points);

            UpdateElement(data.points, 0, false, start);
            UpdateElement(data.points, data.points.Count - 1, false, end);

            for (int index = 0; index < segmentClones.Count; index++)
            {
                UpdateElement(data.points, index, true, segmentClones[index]);
            }
        }
Example #2
0
    public GameObject CreatePoints(PointsData pointsData, GameObject pointPrefab)
    {
        GameObject group = new GameObject(pointsData.name);

        group.transform.parent = transform;
        //group.transform.position = center;
        group.transform.rotation = transform.rotation;
        float scale = pointsData.scale;

        foreach (Vector3S pointS in pointsData.points)
        {
            Vector3    pos       = pointS.ToVector3();
            GameObject preFabObj = Instantiate(pointPrefab, pos, Quaternion.identity) as GameObject;
            if (preFabObj)
            {
                preFabObj.transform.parent     = group.transform;
                preFabObj.transform.position   = preFabObj.transform.position;
                preFabObj.transform.localScale = new Vector3(scale, scale, scale);
            }
        }
        DataHolder dh = group.AddComponent <DataHolder>();

        dh.StatsData = pointsData;
        return(group);
    }
Example #3
0
        public virtual void RenderData(PointsData data)
        {
            Start = data.StartPoint;
            End   = data.EndPoint;

            if (RepeatedSegment != data.RepeatedSegmentPoint)
            {
                foreach (GameObject segmentClone in segmentClones)
                {
                    Destroy(segmentClone);
                }
                segmentClones.Clear();

                RepeatedSegment = data.RepeatedSegmentPoint;
            }

            UpdateNumberOfClones(data.Points, data.IsRepeatedSegmentPointVisible);

            UpdateElement(data.Points, 0, false, Start);
            UpdateElement(data.Points, data.Points.Count - 1, false, End);
            UpdateElement(data.Points, 0, true, RepeatedSegment);

            for (int index = 1; index <= segmentClones.Count; index++)
            {
                UpdateElement(data.Points, index, true, segmentClones[index - 1]);
            }
        }
 public void createSinglePoint(Vector3 center)
 {
     PointsData pointsData = new PointsData ();
     pointsData.scale = .01f;
     pointsData.AddPoint (center);
     pointsData.name = "Point";
     CreatePoints (pointsData);
 }
Example #5
0
    public void createSinglePoint(Vector3 center)
    {
        PointsData pointsData = new PointsData();

        pointsData.scale = .01f;
        pointsData.AddPoint(center);
        pointsData.name = "Point";
        CreatePoints(pointsData);
    }
Example #6
0
        Segment Lines()
        {
            const int    Length     = 39;
            const string PointsData =
                "0,0&1,0&2,0&3,0&4,0&5,0&6,0&7,0&8,0&9,0&10,0&11,0&12,0&13,0&14,0&15,0&16,0&17,0&18,0&19,0&19,1&19,2&19,3&19,4&19,5&19,6&19,7&19,8&19,9&19,10&19,11&19,12&19,13&19,14&19,15&19,16&19,17&19,18&19,19&18,19&17,19&16,19&15,19&14,19&13,19&12,19&11,19&10,19&9,19&8,19&7,19&6,19&5,19&4,19&3,19&2,19&1,19&0,19&0,18&0,17&0,16&0,15&0,14&0,13&0,12&0,11&0,10&0,9&0,8&0,7&0,6&0,5&0,4&0,3&0,2&0,1&0,0&0,-1&0,-2&0,-3&0,-4&0,-5&0,-6&0,-7&0,-8&0,-9&0,-10&0,-11&0,-12&0,-13&0,-14&0,-15&0,-16&0,-17&0,-18&0,-19&-1,-19&-2,-" +
                "19&-3,-19&-4,-19&-5,-19&-6,-19&-7,-19&-8,-19&-9,-19&-10,-19&-11,-19&-12,-19&-13,-19&-14,-19&-15,-19&-16,-19&-17,-19&-18,-19&-19,-19&-19,-18&-19,-17&-19,-16&-19,-15&-19,-14&-19,-13&-19,-12&-19,-11&-19,-10&-19,-9&-19,-8&-19,-7&-19,-6&-19,-5&-19,-4&-19,-3&-19,-2&-19,-1&-19,0&-19,0&-19,-1&-19,-2&-19,-3&-19,-4&-19,-5&-19,-6&-19,-7&-19,-8&-19,-9&-19,-10&-19,-11&-19,-12&-19,-13&-19,-14&-19,-15&-19,-16&-19,-17&-19,-18&-19,-19&-18,-19&-17,-19&-16,-19&-15,-19&-14,-19&-13,-19&-12,-19&-11,-19&-10,-19&-9,-19" +
                "&-8,-19&-7,-19&-6,-19&-5,-19&-4,-19&-3,-19&-2,-19&-1,-19&0,-19&0,-18&0,-17&0,-16&0,-15&0,-14&0,-13&0,-12&0,-11&0,-10&0,-9&0,-8&0,-7&0,-6&0,-5&0,-4&0,-3&0,-2&0,-1&0,0&0,1&0,2&0,3&0,4&0,5&0,6&0,7&0,8&0,9&0,10&0,11&0,12&0,13&0,14&0,15&0,16&0,17&0,18&0,19&1,19&2,19&3,19&4,19&5,19&6,19&7,19&8,19&9,19&10,19&11,19&12,19&13,19&14,19&15,19&16,19&17,19&18,19&19,19&19,18&19,17&19,16&19,15&19,14&19,13&19,12&19,11&19,10&19,9&19,8&19,7&19,6&19,5&19,4&19,3&19,2&19,1&19,0&18,0&17,0&16,0&15,0&14,0&13,0&12,0&11,0" +
                "&10,0&9,0&8,0&7,0&6,0&5,0&4,0&3,0&2,0&1,0&0,0&-1,0&-2,0&-3,0&-4,0&-5,0&-6,0&-7,0&-8,0&-9,0&-10,0&-11,0&-12,0&-13,0&-14,0&-15,0&-16,0&-17,0&-18,0&-19,0&-19,-1&-19,-2&-19,-3&-19,-4&-19,-5&-19,-6&-19,-7&-19,-8&-19,-9&-19,-10&-19,-11&-19,-12&-19,-13&-19,-14&-19,-15&-19,-16&-19,-17&-19,-18&-19,-19&-18,-19&-17,-19&-16,-19&-15,-19&-14,-19&-13,-19&-12,-19&-11,-19&-10,-19&-9,-19&-8,-19&-7,-19&-6,-19&-5,-19&-4,-19&-3,-19&-2,-19&-1,-19&0,-19&0,-19&-1,-19&-2,-19&-3,-19&-4,-19&-5,-19&-6,-19&-7,-19&-8,-19&-9," +
                "-19&-10,-19&-11,-19&-12,-19&-13,-19&-14,-19&-15,-19&-16,-19&-17,-19&-18,-19&-19,-19&-19,-18&-19,-17&-19,-16&-19,-15&-19,-14&-19,-13&-19,-12&-19,-11&-19,-10&-19,-9&-19,-8&-19,-7&-19,-6&-19,-5&-19,-4&-19,-3&-19,-2&-19,-1&-19,0&-18,0&-17,0&-16,0&-15,0&-14,0&-13,0&-12,0&-11,0&-10,0&-9,0&-8,0&-7,0&-6,0&-5,0&-4,0&-3,0&-2,0&-1,0";
            var points = PointsData.Split('&').Select(Point.Parse).ToList();
            var color  = new LightColor(0, 39,
                                        new List <int> {
                0x000000
            },
                                        new List <int> {
                0x101010
            },
                                        new List <int> {
                0x100000, 0x001000
            },
                                        new List <int> {
                0x001000, 0x000010
            },
                                        new List <int> {
                0x000010, 0x100000
            }
                                        );
            var funcs = new List <Func <Point, Point> >
            {
                point => new Point(point.X + 19, point.Y + 19),
                point => new Point(-point.Y + 76, point.X + 19),
                point => new Point(-point.X + 76, -point.Y + 76),
                point => new Point(point.Y + 19, -point.X + 76),
            };

            var segment = new Segment();
            var time    = 0;

            for (var point = 0; point < points.Count; ++point)
            {
                segment.Clear(time);
                for (var ctr = 0; ctr < Length; ++ctr)
                {
                    var add = points[(point + ctr) % points.Count];
                    foreach (var func in funcs)
                    {
                        foreach (var light in bodyLayout.GetPositionLights(func(add), 2, 2))
                        {
                            segment.AddLight(light, time, color, ctr);
                        }
                    }
                }
                ++time;
            }
            return(segment);
        }
Example #7
0
        // UI --------------------------------------------------------------------------------------------------------------------------------------
        #region UI

        private async Task LoadMapInfo()
        {
            string mapName = map;

            if (mapName.Length > 18)
            {
                mapName = mapName.Substring(0, 18) + "...";
            }
            MapsMap.Title = mapName + " [" + EFilter_ToString.toString2(game) + "]";

            // running query and assigning to map information objects
            var mapInfoDatum = await mapsViewModel.GetMapInfo(game, map);

            mapInfoData = mapInfoDatum?.data;
            if (mapInfoData is null)
            {
                return;
            }

            var mapPointsDatum = await mapsViewModel.GetMapPoints(game, map);

            pointsData = mapPointsDatum?.data;
            if (pointsData is null)
            {
                return;
            }

            mapSettings = mapInfoData.MapSettings;
            mappers     = mapInfoData.Mappers;
            mapType     = (EFilter_MapType)int.Parse(mapSettings.maptype);

            // filling in UI and setting zone options
            LayoutGeneralMapInfo();
            LayoutMappers();
            LayoutStats();

            stageCount = int.Parse(mapSettings.cp_count);
            bonusCount = int.Parse(mapSettings.b_count);
            if ((int)mapType == 1)
            {
                stageCount = 0;
            }
            else
            {
                for (int i = 1; i <= stageCount; i++)
                {
                    zonePickerList.Add("S" + i);
                }
            }
            for (int i = 1; i <= bonusCount; i++)
            {
                zonePickerList.Add("B" + i);
            }

            LayoutPoints();
        }
    public void createRandomPoints(Vector3 center, int number, float range = 1.0f)
    {
        float scale = range * scaleSizeFactor;
        PointsData pointsData = new PointsData ();
        pointsData.scale = scale;

        for (int i = 0; i < number; i++) {
            pointsData.AddPoint (center + Random.insideUnitSphere * range);
        }
        pointsData.name = "Random Points";
        CreatePoints (pointsData);
    }
Example #9
0
    public void createRandomPoints(Vector3 center, int number, float range = 1.0f)
    {
        float      scale      = range * scaleSizeFactor;
        PointsData pointsData = new PointsData();

        pointsData.scale = scale;

        for (int i = 0; i < number; i++)
        {
            pointsData.AddPoint(center + Random.insideUnitSphere * range);
        }
        pointsData.name = "Random Points";
        CreatePoints(pointsData);
    }
        /// <summary>
        /// Save calculated stress score into a google sheet
        /// </summary>
        /// <param name="activity"></param>
        /// <param name="intervals"></param>
        /// <param name="googleApi"></param>
        /// <param name="config"></param>
        public void SaveStressPoints(ActivitySummary activity, IList <Interval> intervals)
        {
            PointsData data = new PointsData(activity.Id, (int)activity.Type, activity.StartDateLocal.Date);
            var        cfg  = this.athleteConfig;

            switch (activity.Type)
            {
            case ActivityType.Run:
                if (activity.AverageHeartRate > 0)
                {
                    data.TrimpPoints = intervals.HeartRateTrimp100(cfg.runFTHeartRate, cfg.minHeartRate, cfg.maxHeartRate);
                }
                data.TriScorePoints = intervals.Govss(cfg.runFTSpeed, cfg.weight, cfg.height);
                data.TssPoints      = intervals.NormGradedSpeedTss(cfg.runFTSpeed);
                break;

            case ActivityType.Ride:
                if (activity.AverageHeartRate > 0)
                {
                    data.TrimpPoints = intervals.HeartRateTrimp100(cfg.bikeFTHeartRate, cfg.minHeartRate, cfg.maxHeartRate);
                }
                if (activity.AveragePower > 0 && !activity.DeviceWatts)
                {
                    data.TssPoints = intervals.AvgPowerTss(cfg.bikeFTPower, activity.AveragePower);
                }
                else if (activity.Distance > 0)
                {
                    data.TriScorePoints = intervals.BikeScore(cfg.bikeFTVirtualPower);
                    data.TssPoints      = intervals.VirtualPowerTss(cfg.bikeFTVirtualPower);
                }
                break;

            case ActivityType.Swim:
                if (intervals == null)
                {
                    data.TssPoints = intervals.AvgNormGradedSpeedTss(cfg.swimFTSpeed);
                }
                else
                {
                    data.TriScorePoints = intervals.SwimScore(cfg.swimFTSpeed, cfg.weight, cfg.height);
                    data.TssPoints      = intervals.NormGradedSpeedTss(cfg.swimFTSpeed);
                }
                break;
            }

            output.Write(data);
        }
Example #11
0
    private void Start()
    {
        lineRenderer = GetComponent <LineRenderer>();

        string json = Resources.Load <TextAsset>("path").text;

        using (WebClient wc = new WebClient())
            json = wc.DownloadString("https://vk.com/doc125444443_592467118?hash=d6ec6069eac7101f2a&dl=b0ca94051945f86705");

        PointsData pd = JsonUtility.FromJson <PointsData>(json);

        closeToggle.isOn = pd.Loop;
        timeInput.text   = pd.PathTime.ToString();
        countInput.text  = pd.Points.Length.ToString();

        SetLine(pd.Points);
    }
 public GameObject CreatePoints(PointsData pointsData, GameObject pointPrefab)
 {
     GameObject group = new GameObject (pointsData.name);
     group.transform.parent = transform;
     //group.transform.position = center;
     group.transform.rotation = transform.rotation;
     float scale = pointsData.scale;
     foreach (Vector3S pointS in pointsData.points) {
         Vector3 pos = pointS.ToVector3();
         GameObject preFabObj = Instantiate (pointPrefab, pos, Quaternion.identity) as GameObject;
         if (preFabObj) {
             preFabObj.transform.parent = group.transform;
             preFabObj.transform.position = preFabObj.transform.position;
             preFabObj.transform.localScale = new Vector3(scale, scale, scale);
         }
     }
     DataHolder dh = group.AddComponent<DataHolder>();
     dh.StatsData = pointsData;
     return group;
 }
        public void Write(PointsData data)
        {
            if (storedIds.Contains(data.Id))
            {
                Console.WriteLine("Skip: {0}", data.Id);
                return;
            }

            object[] values = new object[6];
            values[0] = data.Date.ToString("yyyy-MM-dd");
            values[1] = data.Id;
            values[2] = data.Type;
            values[3] = data.TrimpPoints > 0 ? (double?)data.TrimpPoints : null;
            values[4] = data.TriScorePoints > 0 ? (double?)data.TriScorePoints : null;
            values[5] = data.TssPoints > 0 ? (double?)data.TssPoints : null;

            googleApi.Write(new List <IList <object> >()
            {
                values
            });
        }
Example #14
0
    void pointsArrayListToObjects(List <Vector3S> pointarray, string fileName = "Points")
    {
        //point size to 1% of longest range
        float longestRange = maxX - minX;

        if (maxY - minY > longestRange)
        {
            longestRange = maxY - minY;
        }
        if (maxZ - minZ > longestRange)
        {
            longestRange = maxZ - minZ;
        }
        scale = longestRange * scaleSizeFactor;

        PointsData pointsData = new PointsData();

        pointsData.name   = fileName;
        pointsData.points = pointarray;
        CreatePoints(pointsData);
    }
Example #15
0
 public void OnPointScored(PointsData pointsData)
 {
 }
Example #16
0
 public void OnNoteFail(PointsData pointsData)
 {
     BatteryBar.hit();
 }
Example #17
0
 [DllImport("usdi")] public static extern IntPtr usdiTaskCreatePointsReadSample(Points points, ref PointsData dst, ref double t);
Example #18
0
 [DllImport("usdi")] public static extern Bool      usdiPointsWriteSample(Points points, ref PointsData src, double t);
Example #19
0
 [DllImport("usdi")] public static extern Bool      usdiPointsReadSample(Points points, ref PointsData dst, double t, Bool copy);
 /// <summary>
 /// Called every time a note/wall is missed
 /// </summary>
 public void OnNoteFail(PointsData pointsData)
 {
     ModEventViewer.PrintToLog("A " + pointsData.noteType + " was failed");
 }
Example #21
0
 public GameObject CreatePoints(PointsData pointsData)
 {
     return(CreatePoints(pointsData, pointPrefab));
 }
 public void OnNoteFail(PointsData pointsData)
 {
 }
    void pointsArrayListToObjects(List<Vector3S> pointarray, string fileName = "Points")
    {
        //point size to 1% of longest range
        float longestRange = maxX - minX;
        if (maxY - minY > longestRange) longestRange = maxY - minY;
        if (maxZ - minZ > longestRange) longestRange = maxZ - minZ;
        scale = longestRange * scaleSizeFactor;

        PointsData pointsData = new PointsData();
        pointsData.name = fileName;
        pointsData.points = pointarray;
        CreatePoints(pointsData);
    }
Example #24
0
 public void OnNoteFail(PointsData pointsData)
 {
     //throw new System.NotImplementedException();
 }
 /// <summary>
 /// Called every time a point is score
 /// Receive a PointsData struct with info on note/wall that give the poins
 /// </summary>
 public void OnPointScored(PointsData pointsData)
 {
     ModEventViewer.PrintToLog(pointsData.points + " points were scored!");
 }
Example #26
0
 public void Write(PointsData data)
 {
     Console.WriteLine("{0} {1} {2} [{3},{4},{5}]",
                       data.Id, data.Type, data.Date,
                       data.TrimpPoints, data.TriScorePoints, data.TssPoints);
 }
 public GameObject CreatePoints(PointsData pointsData)
 {
     return CreatePoints (pointsData, pointPrefab);
 }
Example #28
0
 public void OnPointScored(PointsData pointsData)
 {
     //throw new System.NotImplementedException();
 }