Beispiel #1
0
    /// <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");
    }
Beispiel #2
0
 static void CheckCollision(float time)
 {
     ThreadMission.AddMission((o) => {
         for (int i = 0; i < factories.Count; i++)
         {
             factories[i].RefreshCollider();
         }
         UnitCollision.Collision();
     }, null);
 }
Beispiel #3
0
 /// <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);
 }
Beispiel #4
0
    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");
    }
Beispiel #5
0
 /// <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);
 }
Beispiel #6
0
 /// <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();
     });
 }
Beispiel #7
0
 /// <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);
 }
Beispiel #8
0
 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;
             }
         }
     }
 }