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); }
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); }