Exemplo n.º 1
0
 void UpdateCounter(uint[] e)
 {
     for (int t = 0; t < e.Length; t += 2) // for (var t = 0; t < e.length; t += 2)
     {
         int       r = (int)e[t];          // var r = e[t + 0],
         int       n = (int)e[t + 1];      // n = e[t + 1],
         int       o = r >> 16 & 255;      // o = r >> 16 & 255,
         int       a = r >> 8 & 255;       // a = r >> 8 & 255,
         GTWSystem i = systems[o];         // i = GTW.systems[o];
         if (a == 0)                       // 0 === a ? i.count = n : (i.target_count[a] = n, GTW.total_target_count[a] += n)
         {
             i.count = n;
         }
         else
         {
             i.target_count[a]      = n;
             total_target_count[a] += n;
         }
     }
 }
Exemplo n.º 2
0
    void CreateMesh()
    {
        List <Vector3> verts = new List <Vector3>();
        List <int>     idxs  = new List <int>();

        foreach (KeyValuePair <int, GTWSystem> kvp in GTW.Instance.systems)
        {
            verts.Clear();
            idxs.Clear();

            int       iKey = kvp.Key;
            GTWSystem sys  = kvp.Value;
            int       r    = sys.n_sides;
            bool      a    = r < 0;                         // var a = 0 > r;
            r = Mathf.Abs(r);                               // r = Math.abs(r);
            float i = a ? Mathf.PI / r : Mathf.PI * 2f / r; // var i;
            // i = a ? Math.PI / r : TWO_PI / r;
            for (int u = 5, c = 0; c < u; ++c)              // for (var u = 5, c = 0; u > c; ++c) {
            {
                float l = 0f;
                for (int s = 0; s < r; ++s)// for (var l = 0, s = 0; r > s; ++s) e(l, c),
                {
                    ShapeAddVertex(l, c, verts, idxs);
                    ShapeAddVertex(l + i, c, verts, idxs); // e(l + i, c),
                    l += i;                                // l += i;
                }
                if (a)                                     // a && (e(l, c), e(0, c)),
                {
                    ShapeAddVertex(l, c, verts, idxs);
                    ShapeAddVertex(0f, c, verts, idxs);
                }
                if (r == 31)// 31 == r && (l = 0.8, e(l, c), e(l + Math.PI, c))// }
                {
                    l = 0.8f;
                    ShapeAddVertex(l, c, verts, idxs);
                    ShapeAddVertex(l + Mathf.PI, c, verts, idxs);
                }
            }
            Mesh m = new Mesh();
            m.name = "ShapeIcon_" + iKey.ToString();
            m.SetVertices(verts);
            m.SetIndices(idxs.ToArray(), MeshTopology.Lines, 0);
            meshIcon[iKey] = m;
        }

        verts.Clear();
        idxs.Clear();

        for (int r = 32, n = 0; n < r; ++n)          // for (var e = [], r = 32, n = 0; r > n; ++n) {
        {
            float o = Mathf.PI * 2.0f * n / (r - 1); // var o = TWO_PI * n / (r - 1),
            float a = Mathf.Cos(o);                  // a = Math.cos(o),
            float i = Mathf.Sin(o);                  // i = Math.sin(o);
            verts.Add(new Vector3(a, 0f, i));        // e.push(a, 0, i, a, 1, i)
            verts.Add(new Vector3(a, 1f, i));
        }// }
        idxs = CreateTriangleStripIndex(verts.ToArray());

        meshCone.SetVertices(verts);
        meshCone.SetIndices(idxs.ToArray(), MeshTopology.Triangles, 0);
        meshCone.name = "meshCone";

        verts.Clear();
        idxs.Clear();
        verts.Add(new Vector3(0f, 0f, 0f));
        verts.Add(new Vector3(1f, 0f, 0f));
        verts.Add(new Vector3(0f, 1f, 0f));
        verts.Add(new Vector3(1f, 1f, 0f));
        idxs = CreateTriangleStripIndex(verts.ToArray());

        meshQuad.SetVertices(verts);
        meshQuad.SetIndices(idxs.ToArray(), MeshTopology.Triangles, 0);
        meshQuad.name = "meshQuad";
    }
Exemplo n.º 3
0
    void Update()
    {
        // 模拟一个小时内时间循环
        run_time += (ulong)(Time.deltaTime * 1000f);
        if (run_time > GTW_o)
        {
            run_time        = 0;
            next_fetch_time = 0;
        }
        current_time = begin_time + run_time;
        List <GTWEvent> doEvents = new List <GTWEvent>();

        if (bUseDemoData)
        {
            doEvents = PollEvents(current_time);
        }
        if (true)// (country_length > 0)
        {
            foreach (GTWEvent e in doEvents)
            {
                uint      t = e.key;                    // var t = e.key,
                uint      r = t >> 16 & 255;            // r = t >> 16 & 255,
                uint      n = t >> 8 & 255;             // n = t >> 8 & 255,
                uint      o = t >> 0 & 255;             // o = t >> 0 & 255,
                GTWSystem a = systems[(int)r];          // a = GTW.systems[r],
                bool      i = true;                     // i = !0;
                if (r == 8 && e.coords != Vector4.zero) // 8 == r && e.coords && (i = !1),
                {
                    i = false;
                }
                if (r == 8 && n == 0)// 8 == r && 0 == n && (i = !1),
                {
                    i = false;
                }
                if (i)// i && (++a.count, ++a.graph[ue], ++a.target_count[n]),
                {
                    ++a.count;
                    ++a.target_count[n];
                }
                ++total_target_count[n]; // ++GTW.total_target_count[n],

                if (a.enabled)           // W && z.draw_world && a.enabled && p(r, n, o, e.coords, e.angle)
                {
                    DrawEvent(r, n, o, e.coords, e.angle);
                }
            }
        }

        if (bChangeColor)
        {
            if (bDark)
            {
                MainCamera.backgroundColor = new Color(0f, 0f, 0f, 1f);
                mat_country.SetColor("_Color0", new Color(0.1f, 0.12f, 0.11f));
                mat_country.SetColor("_Color1", new Color(0.2f, 0.23f, 0.21f));
                mat_country_picked.SetColor("_Color0", new Color(0.1f, 0.12f, 0.11f));
                mat_country_picked.SetColor("_Color1", new Color(0.2f, 0.23f, 0.21f));
                mat_coast.SetColor("_Color0", new Color(0.1f, 0.12f, 0.11f));
                mat_coast.SetColor("_Color1", new Color(0.2f, 0.23f, 0.21f));
                mat_grid.SetColor("_Color0", new Color(0.07f, 0.09f, 0.07f));
                mat_grid.SetColor("_Color1", new Color(0.36f, 0.41f, 0.36f));
                mat_corona.SetColor("_Color1", Color.black);
                mat_corona.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
                mat_corona.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.One);
            }
            else
            {
                MainCamera.backgroundColor = new Color(0.9f, 0.9f, 0.9f, 1f);
                mat_country.SetColor("_Color0", new Color(0.41f, 0.61f, 0.48f));
                mat_country.SetColor("_Color1", new Color(0.51f, 0.69f, 0.53f));
                mat_country_picked.SetColor("_Color0", new Color(0.41f, 0.61f, 0.48f));
                mat_country_picked.SetColor("_Color1", new Color(0.51f, 0.69f, 0.53f));
                mat_coast.SetColor("_Color0", new Color(0.41f, 0.61f, 0.48f));
                mat_coast.SetColor("_Color1", new Color(0.51f, 0.69f, 0.53f));
                mat_grid.SetColor("_Color0", new Color(0.93f, 0.95f, 0.93f));
                mat_grid.SetColor("_Color1", new Color(0.42f, 0.48f, 0.42f));
                mat_corona.SetColor("_Color1", Color.white);
                mat_corona.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.DstColor);
                mat_corona.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
            }
            bChangeColor = false;
        }

//         if (bSphere && fDeform < 1f)
//         {
//             fDeform += Time.deltaTime * fDeformPerSecond;
//             fDeform = Mathf.Clamp01(fDeform);
//             UpdateDeform();
//         }
//         else if (!bSphere && fDeform > 0f)
//         {
//             fDeform -= Time.deltaTime * fDeformPerSecond;
//             fDeform = Mathf.Clamp01(fDeform);
//             UpdateDeform();
//         }
        UpdateDeform();
    }