Esempio n. 1
0
    public Task moveTask(int number, Vector2 begin, Vector2 end)
    {
        TaskSet ts = new TaskSet();
        Square  s  = (Square)GameObject.Instantiate(_phototype);
        Square  b  = this.getSquare((int)(begin.x), (int)(begin.y));
        Square  e  = this.getSquare((int)(end.x), (int)(end.y));

        s.transform.SetParent(b.transform.parent);
        s.transform.localScale    = b.transform.localScale;
        s.transform.localPosition = b.transform.localPosition;
        s.show();
        s.number = number;
        b.hide();
        TweenTask tt = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(s.gameObject, 0.5f, e.transform.localPosition));
        });

        TweenTask t2 = new TweenTask(delegate() {
            return(TweenRotation.Begin(s.gameObject, 0.5f, Quaternion.AngleAxis((begin.x - end.x) * 90.0f, Vector3.up)));
        });

        ts.push(tt);
        ts.push(t2);

        TaskManager.PushBack(ts, delegate {
            GameObject.DestroyObject(s.gameObject);
        });
        return(ts);
    }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        TaskList taskList = new TaskList();
        //创建任务 当回调为true时进行下一个任务
        Task task1 = new Task();

        task1.init = delegate() {
            Debug.Log("this is first task!!!");
        };
        task1.IsOver = delegate() {
            //只有返回true才会执行下一任务
            return(true);
        };
        taskList.push(task1);

        //挂起两秒
        TaskWait wait = new TaskWait();

        wait.SetAllWaitTime(2f);
        taskList.push(wait);

        //创建第二个任务
        Task task2 = new Task();

        task2.init = delegate() {
            Debug.Log("this is second task!!!");
        };
        taskList.push(task2);


        TaskSet mt = new TaskSet();
        //创建第三个任务
        Task task3 = new Task();

        task3.init = delegate() {
            Debug.Log("this is third task!!!");
        };
        task3.IsOver = delegate()
        {
            Debug.Log("third task is finish");
            return(true);
        };
        mt.push(task3);

        //创建第四个任务
        Task task4 = new Task();

        task4.init = delegate() {
            Debug.Log("this is forth task!!!");
        };
        task4.IsOver = delegate()
        {
            Debug.Log("forth task is finish");
            return(true);
        };
        mt.push(task4);
        taskList.push(mt);

        TaskManager.Run(taskList);
    }
Esempio n. 3
0
    private Task outHeadAndEnd()
    {
        TaskSet ts = new TaskSet();

        ts.push(outHead());
        ts.push(outEnd());
        return(ts);
    }
Esempio n. 4
0
        public Task createTask()
        {
            TaskSet ts = new TaskSet();

            ts.push(pointTask());
            ts.push(listTask());
            return(ts);
        }
Esempio n. 5
0
    private Task inHeadAndEnd()
    {
        TaskSet ts = new TaskSet();

        ts.push(inHead());
        ts.push(inEnd());
        return(ts);
    }
Esempio n. 6
0
    // Use this for initialization
    void Start()
    {
        TaskList tl    = new TaskList();
        Task     task1 = new Task();

        task1.init = delegate() {
            Debug.Log("this is firs task!!!");
        };
        task1.isOver = delegate() {
            return(true);
        };
        tl.push(task1);
        TaskWait wait = new TaskWait();

        wait.setAllTime(2f);
        tl.push(wait);
        Task task2 = new Task();

        task2.init = delegate() {
            Debug.Log("this is second task!!!");
        };
        tl.push(task2);

        TaskSet mt    = new TaskSet();
        Task    task3 = new Task();

        task3.init = delegate() {
            Debug.Log("this is third task!!!");
        };
        mt.push(task3);

        Task task4 = new Task();

        task4.init = delegate() {
            Debug.Log("this is four task!!!");
        };
        mt.push(task4);
        TaskWait wait2 = new TaskWait();

        wait2.setAllTime(5f);
        mt.push(wait2);

        Task task5 = new Task();

        task5.init = delegate() {
            Debug.Log("this is five task!!!");
        };
        mt.push(task5);

        tl.push(mt);


        TaskManager.Run(tl);
    }
Esempio n. 7
0
    private void CubeChanged(Cube start, Cube end)
    {
        Square s = _view.play.getSquare(_model.list.IndexOf(start));
        Square e = _view.play.getSquare(_model.list.IndexOf(end));

        taskSet.push(_view.play.MoveSquareTask(s, e));
    }
Esempio n. 8
0
    public Task inFire()
    {
        TaskSet   ts   = new TaskSet();
        TweenTask left = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(_fireLeft, 1.0f, new Vector3(0, 0, 0)));
        });

        ts.push(left);

        TweenTask right = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(_fireRight, 1.0f, new Vector3(0, 0, 0)));
        });

        ts.push(right);
        return(ts);
    }
Esempio n. 9
0
    public Task inCap()
    {
        TaskSet   ts   = new TaskSet();
        TweenTask left = new TweenTask(delegate() {
            return(TweenRotation.Begin(_capLeft, 1.0f, Quaternion.Euler(0, 0, 0)));
        });

        ts.push(left);

        TweenTask right = new TweenTask(delegate() {
            return(TweenRotation.Begin(_capRight, 1.0f, Quaternion.Euler(0, 0, 0)));
        });

        ts.push(right);
        return(ts);
    }
Esempio n. 10
0
    public Task removeTask(List <Cube> remove)
    {
        TaskSet ts = new TaskSet();

        if (remove.Count > 0)
        {
            TaskManager.PushFront(ts, delegate {
                _sound.remove.Play();
            });
            foreach (Cube c in remove)
            {
                c.isEnabled = false;
                Square s = _view.play.getSquare((int)(c.position.x), (int)(c.position.y));
                ts.push(s.removeTask());
                this._model.score++;
                float a = ((float)(this._model.score)) / 500.0f;
                _speed         = 1.0f * (1 - a) + 10.0f * a;
                Time.timeScale = _speed;
                Debug.Log("speed" + _speed);
            }
        }
        TaskManager.PushBack(ts, delegate {
            refreshModel2View();
        });
        return(ts);
    }
Esempio n. 11
0
    private Task inWing()
    {
        TaskSet   ts   = new TaskSet();
        TweenTask left = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(_wingLeft, 1.0f, new Vector3(0, 0, 0)));
        });

        ts.push(left);


        TweenTask right = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(_wingRight, 1.0f, new Vector3(0, 0, 0)));
        });

        ts.push(right);
        return(ts);
    }
Esempio n. 12
0
        public Task createTask()
        {
            TaskList tl = new TaskList();

            tl.push(_first.createTask());
            TaskSet ts = new TaskSet();

            ts.push(_second.createTask());
            ts.push(_third.createTask());
            tl.push(ts);
            TaskManager.PushBack(tl, delegate
            {
                _title.SetActive(true);
                _text.SetActive(true);
            });
            return(tl);
        }
Esempio n. 13
0
    private State getInit()
    {
        StateWithEventMap init = TaskState.Create(delegate() {
            _buoy.transform.localScale = Vector3.one * _unit * 1.01f;

            TaskSet ts = new TaskSet();

            ts.push(goLine());
            return(ts);
        }, this.fsm_, "draw");

        return(init);
    }
Esempio n. 14
0
    public Task overTask()
    {
        TaskSet tl = new TaskSet();

        for (int y = 0; y < _model.height; ++y)
        {
            for (int x = 0; x < _model.width; ++x)
            {
                Cube c = _model.getCube(x, y);
                if (c.isEnabled)
                {
                    Square s = _view.play.getSquare(x, y);
                    tl.push(s.overTask());
                }
            }
        }
        TaskWait tw = new TaskWait();

        tw.setAllTime(0.5f);
        tl.push(tw);
        return(tl);
    }
Esempio n. 15
0
    Task inRocket()
    {
        TaskSet   ts   = new TaskSet();
        TweenTask left = new TweenTask(delegate() {
            return(TweenRotation.Begin(_rocketLeft, 1.0f, Quaternion.Euler(0, 0, 0)));
        });

        ts.push(left);

        TweenTask right = new TweenTask(delegate() {
            return(TweenRotation.Begin(_rocketRight, 1.0f, Quaternion.Euler(0, 0, 0)));
        });


        ts.push(right);

        TweenTask end = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(_end, 1.0f, new Vector3(0, 0, -3)));
        });


        ts.push(end);
        return(ts);
    }
Esempio n. 16
0
        public Task goTask(float duration)
        {
            TaskSet ts = new TaskSet();

            for (int i = 0; i < this._parts.Count; ++i)
            {
                Part part = this._parts[i];

                TaskList tl = new TaskList();
                for (int n = 1; n < part.targets.Count; ++n)
                {
                    Transform tranform = part.targets[n];
                    tl.push(partTask(part.origin.gameObject, tranform, duration));
                }
                ts.push(tl);
            }
            return(ts);
        }
Esempio n. 17
0
    private Task DoFallTask()
    {
        TaskSet ts = new TaskSet();

        for (int i = model.height; i >= 1; i--)
        {
            for (int j = 1; j <= model.width; j++)
            {
                Cube c    = model.GetCube(i, j);
                Cube end  = null;
                int  endY = 1;
                if (c.isEnabled == true)
                {
                    for (int k = i + 1; k <= model.height; k++)
                    {
                        Cube fall = model.GetCube(k, j);
                        if (fall == null || fall.isEnabled == true)
                        {
                            break;
                        }
                        else
                        {
                            end  = fall;
                            endY = k;
                        }
                    }
                    if (end != null)
                    {
                        end.number    = c.number;
                        end.isEnabled = true;
                        c.isEnabled   = false;
                        ts.push(view.play.MoveTask(c.number, new Vector2(i, j), new Vector2(endY, j)));
                    }
                }
            }
        }

        TaskManager.PushBack(ts, delegate
        {
            RefreshModel2View();
        });

        return(ts);
    }
Esempio n. 18
0
    public Task doFallTask()
    {
        TaskSet ts = new TaskSet();

        for (int x = 0; x < _model.width; ++x)
        {
            for (int y = _model.height - 1; y >= 0; --y)
            {
                Cube c    = _model.getCube(x, y);
                Cube end  = null;
                int  endY = 0;
                if (c.isEnabled)
                {
                    for (int n = y + 1; n < _model.height; ++n)
                    {
                        Cube fall = _model.getCube(x, n);
                        if (fall == null || fall.isEnabled == true)
                        {
                            break;
                        }
                        else
                        {
                            end  = fall;
                            endY = n;
                        }
                    }
                    if (end != null)
                    {
                        end.number    = c.number;
                        end.isEnabled = true;
                        c.isEnabled   = false;
                        ts.push(_view.play.moveTask(c.number, new Vector2(x, y), new Vector2(x, endY)));
                        TaskManager.PushBack(ts, delegate {
                            _sound.fall.Play();
                        });
                    }
                }
            }
        }
        TaskManager.PushBack(ts, delegate() {
            refreshModel2View();
        });
        return(ts);
    }
Esempio n. 19
0
    /// <summary>
    /// 下落,从下往上检查,当检查到有方块显示时,开始让他从上往下下落到底部
    /// 将下落过程做为一个任务来执行
    /// </summary>
    private Task DoFall()
    {
        TaskSet ts   = new TaskSet();
        Cube    end  = null;
        int     endY = 0;

        for (int i = 0; i < _model.width; i++)
        {
            for (int j = _model.height - 1; j >= 0; --j)
            {
                Cube c = _model.GetCube(i, j);
                if (c.isEnable)
                {
                    for (int k = j + 1; k < _model.height; ++k)
                    {
                        Cube f = _model.GetCube(i, k);
                        if (f == null || f.isEnable)
                        {
                            break;
                        }
                        else
                        {
                            end  = f;
                            endY = k;
                        }
                    }
                    if (end != null)
                    {
                        end.number   = c.number;
                        end.isEnable = true;
                        c.isEnable   = false;
                        ts.push(_view.play.MoveTask(c.number, new Vector2(i, j), new Vector2(i, endY)));
                    }
                }
            }
        }

        //在任务集全部执行完毕后在刷新界面
        TaskManager.PushBack(ts, delegate
        {
            RefreshModelToView();
        });
        return(ts);
    }
Esempio n. 20
0
    private State getStart()
    {
        State state = new State();

        state.onStart += delegate() {
            //关闭注册窗口
            MenuView.Instance.closeRegister();
            //显示最高排行按钮
            MenuView.Instance.top();
            TaskSet ts = new TaskSet();
            //飞机飞进来
            ts.push(MenuView.Instance._fly.comein());
            TaskManager.Run(ts);
        };

        state.onOver += delegate() {
            TaskManager.Run(MenuView.Instance._fly.goout());
        };
        return(state);
    }