/// <summary> /// /// </summary> /// <param name="dat"></param> /// <param name="tag"></param> /// <param name="callback">返回Mission</param> public static void AsyncDecode(byte[] dat, string tag, Action <object> callback) { Mission m = new Mission(); m.dat = dat; m.tag = tag; m.CallBack = callback; ThreadMission.AddMission(Decode, m, "gif"); }
static void CheckCollision(float time) { ThreadMission.AddMission((o) => { for (int i = 0; i < factories.Count; i++) { factories[i].RefreshCollider(); } UnitCollision.Collision(); }, null); }
/// <summary> /// 主线程使用此函数 /// </summary> /// <returns></returns> public Texture2D LoadHSVTAsyncM(float h) { if (t2d == null) { t2d = new Texture2D(256, 256, TextureFormat.ARGB32, false); } ThreadMission.AddMission( (o) => { HSVTemplate(h, buffer); }, this, null, (o) => { t2d.SetPixels(buffer); t2d.Apply(); }); return(t2d); }
static void DataToTexture(object mis) { Mission m = mis as Mission; m.gifdata.CreateNextTexture(); ThreadMission.AddMission((o) => { if (m.CallBack != null) { m.CallBack(m); } }, mis, "UI"); }
/// <summary> /// 主线程异步使用此函数 /// </summary> /// <returns></returns> public static Texture2D LoadHTemplateAsync() { if (ht2d == null) { Color[] colors = new Color[360]; ht2d = new Texture2D(1, 360, TextureFormat.ARGB32, false); ThreadMission.AddMission((o) => { HTemplate(colors); }, null, null, (o) => { ht2d.SetPixels(colors); ht2d.Apply(); }); } return(ht2d); }
/// <summary> /// 主线程访问此函数 /// </summary> /// <returns></returns> public void AwaitLoadHSVT(float h) { if (t2d == null) { t2d = new Texture2D(256, 256, TextureFormat.ARGB32, false); } ThreadMission.AddMission( (o) => { HSVTemplate(h, buffer); }, null, null, (o) => { t2d.SetPixels(buffer); t2d.Apply(); }); }
/// <summary> /// 主线程异步使用此函数 /// </summary> /// <returns></returns> public static Texture2D LoadCTemplateAsync() { if (ct2d == null) { Color[] colors = new Color[640 * 640]; ct2d = new Texture2D(640, 640, TextureFormat.ARGB32, false); ThreadMission.AddMission((o) => { CTemplate(colors); }, null, null, (o) => { ct2d.SetPixels(colors); ct2d.Apply(); }); } return(ct2d); }
void Drag(UserEvent callBack, UserAction action, Vector2 v) { if (drawModel == DrawModel.Brush) { CurPos = callBack.ScreenToLocal(action.CanPosition); float hx = Width * 0.5f; float hy = Height * 0.5f; if (LastPos.x <= hx & LastPos.x >= -hx) { if (LastPos.y <= hy & LastPos.y >= -hy) { Vector3 a = LastPos; Vector3 b = CurPos; ThreadMission.AddMission((o) => { DrawLine(a, b); }, null, null, Apply); LastPos = CurPos; } } } }