コード例 #1
0
    public static DrawInstancedTask AddTask(string taskName, Mesh mesh, Material material, string[] MatPB_Float = null, string[] MatPB_Vec4 = null)
    {
        DrawInstancedTask task;

        if (Instance.m_TastDic.TryGetValue(taskName, out task))
        {
            task.Init(mesh, material, MatPB_Float, MatPB_Vec4);
        }
        else
        {
            task = new DrawInstancedTask();
            Instance.m_TastDic.Add(taskName, task);
            task.Init(mesh, material, MatPB_Float, MatPB_Vec4);
        }
        return(task);
    }
コード例 #2
0
    public static void AddTask_Route(string[] MatPB_Float, string[] MatPB_Vec4)
    {
        if (RouteMesh == null)
        {
            RouteMesh = new Mesh();
            RouteMesh.vertices = new Vector3[4]
            {
                new Vector3(0, -0.5f, 0),
                new Vector3(1, -0.5f, 0),
                new Vector3(0, 0.5f, 0),
                new Vector3(1, 0.5f, 0)
            };
            RouteMesh.uv = new Vector2[4]
            {
                new Vector2(0, 0),
                new Vector2(1, 0),
                new Vector2(0, 1),
                new Vector2(1, 1)
            };
            RouteMesh.triangles = new int[6]
            {
                // lower left triangle
                0, 2, 1,
                // upper right triangle
                2, 3, 1
            };
        }
        if (RouteMat == null)
        {
#if TEST
            RouteMat = Resources.Load<Material>("path_instanced");
#else
            LoadManager.Instance.LoadAsset("lworld/instanced", "path_instanced", "mat", typeof(Material), (data) =>
            {
                RouteMat = data as Material;
            }, false);
#endif
        }
        RouteTask = DrawInstancedTool.AddTask(RouteTaskName, RouteMesh, RouteMat, MatPB_Float, MatPB_Vec4);
    }