Esempio n. 1
0
    // I've settled on the first prototype being a trail of evenly spaced VERY small dots.
    private void RenderRoute(DT_PlayerRole role, PLY_SnapSpot snapSpot)
    {
        Vector3 vPos = role.mStart;

        vPos.z = vPos.y - 1f;
        vPos.y = 1f;
        vPos  += snapSpot.transform.position;

        DATA_Route rt = IO_RouteList.FLOAD_ROUTE_BY_NAME(role.mDetail);

        for (int i = 0; i + 1 < rt.mSpots.Length; i++)
        {
            // render a bunch of spots, along the path from a -> b.
            Vector3 vStartPos = vPos + UT_VecConversion.ConvertVec2(rt.mSpots[i]);
            Vector3 vFinalPos = vPos + UT_VecConversion.ConvertVec2(rt.mSpots[i + 1]);

            Vector3 vIterPos = vStartPos;
            Vector3 vDir     = Vector3.Normalize(vFinalPos - vStartPos);
            while (Vector3.Dot(vDir, vFinalPos - vIterPos) > 0f)
            {
                Instantiate(GFX_RouteTrail, vIterPos, transform.rotation);
                vIterPos += vDir * 1f;
            }
        }
    }
Esempio n. 2
0
    private void RenderRoute(List <Vector2> nodes, Vector3 vStart, PLY_SnapSpot snapSpot)
    {
        // This should be the actual starting spot of the player.
        Vector3 vPos = vStart; vPos.z = vPos.y; vPos.y = 0f;

        vPos += snapSpot.transform.position;
        Instantiate(GFX_RouteTrail, vPos, transform.rotation);

        for (int i = 1; i < nodes.Count; i++)
        {
            // render a bunch of spots, along the path from a -> b. We're actually going backwards, but it doesn't matter.
            Vector3 vINode = UT_VecConversion.ConvertVec2(nodes[i]) * 2f;
            vINode.z *= -1f;
            Vector3 vIMinusOneNode = UT_VecConversion.ConvertVec2(nodes[i - 1]) * 2f;
            vIMinusOneNode.z *= -1f;
            Vector3 vStartPos = vPos + vINode;
            Vector3 vFinalPos = vPos + vIMinusOneNode;

            Vector3 vIterPos = vStartPos;
            Vector3 vDir     = Vector3.Normalize(vFinalPos - vStartPos);
            while (Vector3.Dot(vDir, vFinalPos - vIterPos) > 0f)
            {
                Instantiate(GFX_RouteTrail, vIterPos, transform.rotation);
                vIterPos += vDir * 1f;
            }
        }
    }
Esempio n. 3
0
    private void RenderRush(DT_PlayerRole role, PLY_SnapSpot snapSpot)
    {
        // Make it just behind the player.
        Vector3 vPos = UT_VecConversion.ConvertVec2(role.mStart);

        vPos.z -= 1f;
        vPos.y  = 1f;
        vPos   += snapSpot.transform.position;
        Instantiate(GFX_Rush, vPos, transform.rotation);
    }
Esempio n. 4
0
 public void FSetUpRoute(DATA_ORoute rt)
 {
     cRouteLog.mRouteSpots = new List <Vector3>();
     for (int i = 0; i < rt.mSpots.Count; i++)
     {
         Vector3 rtSpot = UT_VecConversion.ConvertVec2(rt.mSpots[i]);
         rtSpot += transform.position;
         Debug.Log(rtSpot);
         cRouteLog.mRouteSpots.Add(rtSpot);
     }
 }
Esempio n. 5
0
    private void RenderZone(DT_PlayerRole role, PLY_SnapSpot snapSpot)
    {
        // get the zone details.
        DATA_Zone zn = IO_ZoneList.FLOAD_ZONE_BY_NAME(role.mDetail);
        GFX_Zone  zoneGFX;

        if (zn.mSpot.y > 19f)
        {
            // render using the "deep zone" version.
            zoneGFX = GFX_DeepZone;
        }
        else if (zn.mSpot.y > 9f)
        {
            // render using mid zone version
            zoneGFX = GFX_MidZone;
        }
        else
        {
            // render using shallow zone version.
            zoneGFX = GFX_ShallowZone;
        }

        Vector3 vZonePos = snapSpot.transform.position;

        vZonePos.z += zn.mSpot.y;
        vZonePos.x += zn.mSpot.x;
        Instantiate(zoneGFX, vZonePos, transform.rotation);

        Vector3 vStartPos = UT_VecConversion.ConvertVec2(role.mStart);

        vStartPos += snapSpot.transform.position;
        Vector3 vIterPos = vStartPos;
        Vector3 vDir     = Vector3.Normalize(vZonePos - vStartPos);

        while (Vector3.Dot(vDir, vZonePos - vIterPos) > 0f)
        {
            Instantiate(GFX_ZoneTrail, vIterPos, transform.rotation);
            vIterPos += vDir * 0.5f;
        }
    }