Ejemplo n.º 1
0
    /// <summary>
    /// Plots the heat map.
    /// </summary>
    /// <param name="tag">Tag.</param>
    /// <param name="data">Data.</param>
    private void PlotHeatMap(HeatTag tag, HeatData data)
    {
        Vector3    pos = SnapCoord(data.vec, tag.Size);
        int        key = pos.GetHashCode();
        GameObject point;
        Color      markerColor = Color.blue;

        if (markerTable.Contains(key))
        {
            point       = markerTable[key] as GameObject;
            markerColor = new Color(
                point.renderer.material.color.r + tag.MapPointColorDelta,
                point.renderer.material.color.g,
                point.renderer.material.color.b - tag.MapPointColorDelta
                );
        }
        else
        {
            point = Instantiate(tag.Marker, pos, Quaternion.identity) as GameObject;
            point.renderer.enabled = true;
            markerTable.Add(key, point);
        }

        markerColor.a = tag.MapPointTransparencyValue;
        point.renderer.material.color = markerColor;
    }
Ejemplo n.º 2
0
 /// <summary>
 /// Helper for tracking player.
 /// </summary>
 /// <returns>The player helper.</returns>
 /// <param name="player">Player.</param>
 /// <param name="tag">Tag.</param>
 /// <param name="rate">Rate.</param>
 private IEnumerator TrackPlayerHelper(GameObject player, HeatTag tag, float rate)
 {
     while (isEnabled)
     {
         if (player)
         {
             Post(player.transform.position, tag);
         }
         yield return(new WaitForSeconds(rate));
     }
 }
Ejemplo n.º 3
0
    // Use this for initialization
    protected virtual void Start()
    {
        this.gun    = new BasicGun(this);
        controller  = new BillController(this);
        leftOrRight = 0;
        health      = 3;

        billHealth = GameObject.Find("BillHealth").GetComponent <GUIText>();

        if (godMode)
        {
            health = 1000;
        }

        startingHeight = renderer.bounds.size.y;
        startingWidth  = renderer.bounds.size.x;

        if (Application.loadedLevelName == "Level_2")
        {
            leftBoundary  = 0.8f;
            rightBoundary = 0.8f;
        }

        Respawn();

        if (Application.loadedLevelName == "Level_1")
        {
            heatmap = GetComponent <HeatMap> ();

            string p_string = "Contra Bill Progresssion Level 1";
            string d_string = "Contra Bill Death Level 1";

            progressionTag = new HeatTag("p_string", url);
            progressionTag.SetSorted();
            progressionTag.MapPointColorDelta = ProgressionMapColorDelta;

            deathTag      = new HeatTag("d_string", url);
            deathTag.Type = HeatTag.HeatType.POINT;

            if (TrackPlayer)
            {
                heatmap.TrackPlayer(this.gameObject, progressionTag, 0.2f);
            }

            if (ShowHeatMap)
            {
                heatmap.PlotData(progressionTag);
                heatmap.PlotData(deathTag);
            }
        }
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Helper to get data.
    /// </summary>
    /// <returns>The data helper.</returns>
    /// <param name="tag">Tag.</param>
    private IEnumerator GetDataHelper(HeatTag tag)
    {
        WWW download = new WWW(tag.Url);

        yield return(download);

        if ((!string.IsNullOrEmpty(download.error)))
        {
            print("Error downloading: " + download.error);
        }
        else
        {
            var data = JSONNode.Parse(download.text);
            StartCoroutine(PlotHeat(data, tag));
        }
    }
Ejemplo n.º 5
0
    /// <summary>
    /// Helper function to post data.
    /// </summary>
    /// <returns>The helper.</returns>
    /// <param name="vec">Vec.</param>
    /// <param name="tag">Tag.</param>
    private IEnumerator  PostHelper(Vector3 vec, HeatTag tag)
    {
        WWWForm form = new WWWForm();

        form.AddField("x", vec.x.ToString());
        form.AddField("y", vec.y.ToString());
        form.AddField("z", vec.z.ToString());
        form.AddField("label", tag.Label.ToUpper());
        form.AddField("ticks", System.DateTime.Now.Ticks.ToString());
        form.AddField("gameTimeStamp", Time.time.ToString());
        WWW download = new WWW(tag.Url, form);

        yield return(download);

        if ((!string.IsNullOrEmpty(download.error)))
        {
            print("Error downloading: " + download.error);
        }
    }
Ejemplo n.º 6
0
 /// <summary>
 /// Plots the heat data.
 /// </summary>
 /// <returns>The heat.</returns>
 /// <param name="data">Data.</param>
 /// <param name="tag">Tag.</param>
 private IEnumerator PlotHeat(JSONNode data, HeatTag tag)
 {
     for (int i = 0; i < data.Count; i++)
     {
         HeatData heatData = new HeatData(data[i]);
         if (tag.Type == HeatTag.HeatType.MAP)
         {
             PlotHeatMap(tag, heatData);
         }
         else if (tag.Type == HeatTag.HeatType.POINT)
         {
             PlotHeatPoint(tag, heatData);
         }
         else
         {
             throw new Exception("HeatType not found");
         }
         yield return(null);
     }
 }
Ejemplo n.º 7
0
    // Use this for initialization
    void Start()
    {
        Respawn();
        heatmap = GetComponent <HeatMap> ();

        progressionTag = new HeatTag("Sample Progression 2", url);
        progressionTag.MapPointColorDelta = ProgressionMapColorDelta;

        deathTag      = new HeatTag("Sample Death 2", url);
        deathTag.Type = HeatTag.HeatType.POINT;

        if (TrackPlayer)
        {
            heatmap.TrackPlayer(this.gameObject, progressionTag, 0.2f);
        }

        if (ShowHeatMap)
        {
            heatmap.PlotData(progressionTag);
            heatmap.PlotData(deathTag);
        }
    }
Ejemplo n.º 8
0
 /// <summary>
 /// Tracks the player. Posts the player's transform's positions every specified rate seconds.
 /// </summary>
 /// <param name="player">The tracked player.</param>
 /// <param name="tag">The associated <see cref="HeatTag"/></param>
 /// <param name="rate">The rate that data is posted in seconds.</param>
 public void TrackPlayer(GameObject player, HeatTag tag, float rate)
 {
     StartCoroutine(TrackPlayerHelper(player, tag, rate));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Post the specified vector for the tag.
 /// The tag encapsulates the data about the url.
 /// </summary>
 /// <param name="vec">The vector that is posted</param>
 /// <param name="tag">The associated <see cref="HeatTag"/></param>
 public void Post(Vector3 vec, HeatTag tag)
 {
     StartCoroutine(PostHelper(vec, tag));
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Plots the data for the specified tag.
 /// The tag encapsulates the data about the url, the marker and the plotting type.
 /// </summary>
 /// <param name="tag">The associated <see cref="HeatTag"/></param>
 public void PlotData(HeatTag tag)
 {
     StartCoroutine(GetDataHelper(tag));
 }
Ejemplo n.º 11
0
    /// <summary>
    /// Plots the heat point.
    /// </summary>
    /// <param name="tag">Tag.</param>
    /// <param name="data">Data.</param>
    private void PlotHeatPoint(HeatTag tag, HeatData data)
    {
        GameObject point = Instantiate(tag.Marker, data.vec, Quaternion.identity) as GameObject;

        point.renderer.enabled = true;
    }