Exemple #1
0
    public Task MoveSquareTask(Square start, Square end)
    {
        Square s = (Square)GameObject.Instantiate(topSquare);

        s.Hide();
        s.transform.SetParent(start.transform.parent);
        s.transform.localScale    = start.transform.localScale;
        s.transform.localPosition = start.transform.localPosition;
        s.number = start.number;
        TweenTask tt = new TweenTask(delegate()
        {//方块插值缩放
            TweenLocalPosition tp = TweenLocalPosition.Begin(s.gameObject, 0.2f, end.transform.localPosition);
            return(tp);
        });

        TaskManager.PushFront(tt, delegate
        {
            s.Show();
            s.ShowWithColor();
            start.HideWithColor();
        });
        TaskManager.PushBack(tt, delegate
        {
            GameObject.DestroyObject(s.gameObject);
        });
        return(tt);
    }
Exemple #2
0
    public static T AddRunningCutscene <T>(T cutscene) where T : Tween
    {
        var tweenTask = new TweenTask(cutscene);

        RunningCutscenes.Add(tweenTask);
        return(cutscene);
    }
    /// <summary>
    /// Adds a task to the task pool
    /// </summary>
    /// <param name="data"></param>
    public void AddTask(TweenData data, bool notOverrideExistingTask = default(bool))
    {
        // Remove existing data if applicable
        if (!notOverrideExistingTask)
        {
            RemoveExisitingData(data);
        }

        // Fixing duration
        if (data.duration < 0.0f)
        {
            data.duration = 0.0f;
        }

        // Fixing mod
        if (!data.modifyPosition && !data.modifyAngle && !data.modifyScale)
        {
            Debug.LogWarning("Task on: " + data.actor + " | No modification was tasked. Defaulting to modifying position.");
            data.modifyPosition = true;
        }

        // Build task
        TweenTask newTask = new TweenTask
        {
            tweenData   = data,
            elaspedTime = 0.0f,
        };

        taskPool.Add(newTask);
        Debug.Log("New tasked added for " + data.actor);
        StartTasks();
    }
Exemple #4
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);
    }
Exemple #5
0
    public Task MoveTask(int number, Vector2 begin, Vector2 end)
    {
        Square s = 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.parent        = b.transform.parent;
        s.transform.localPosition = b.transform.localPosition;
        s.transform.localScale    = b.transform.localScale;
        s.Number = number;
        s.Show();
        b.Hide();

        TweenTask tt = new TweenTask(delegate
        {
            return(TweenLocalPosition.Begin(s.gameObject, 1f, e.transform.localPosition));
        });

        TaskManager.PushBack(tt, delegate
        {
            GameObject.Destroy(s.gameObject);
        });

        return(tt);
    }
Exemple #6
0
	private State getReset(){
		
		State state = TaskState.Create (delegate() {
			Task task = new TweenTask(delegate() {
				Tween tween = TweenValue.Begin(this.gameObject, 0.1f, pose_, 0f, delegate(float v) {
					this.refreshPose(v);
				});
				return tween;
			});
			TaskManager.PushFront(task,delegate() {
				int idx = offset(this.pose_);
				if(idx  + this._list[0]._index > 0){
					idx = -this._list[0]._index;
				}

				if(idx  + this._list[this._list.Count -1]._index < 0){
					idx = -this._list[this._list.Count -1]._index;
				}
				for (int i = 0; i < this._list.Count; ++i) {
					this._list[i]._index +=  idx;

				}
				this.pose_ = this.pose_ - idx * _distance;

			});
			TaskManager.PushBack(task, delegate {
				this.pose_ = 0;

			});
			return task;
		}, this.fsm_, "input");
	
		return state;
	}
Exemple #7
0
 public Task showTask()
 {
     TweenTask task = new TweenTask (delegate {
         return TweenLocalPosition.Begin(this.gameObject, 0.3f, new Vector3(0, 0, 0));
     });
     return task;
 }
Exemple #8
0
    private Task resetTask()
    {
        TweenTask tt = new TweenTask(delegate() {
            return(TweenLocalPosition.Begin(this.gameObject, 0.01f, Vector3.zero));
        });

        return(tt);
    }
Exemple #9
0
    internal Task draw()
    {
        Task task = new TweenTask(delegate
        {
            return(TweenRotation.Begin(_offset, 0.3f, Quaternion.EulerAngles(0, 0, 0)));
        });

        return(task);
    }
Exemple #10
0
    internal Task hide()
    {
        Task task = new TweenTask(delegate
        {
            return(TweenLocalPosition.Begin(_offset, 0.3f, new Vector3(0, 2, 0)));
        });

        return(task);
    }
Exemple #11
0
    internal Task show()
    {
        Task task = new TweenTask(delegate
        {
            return(TweenLocalPosition.Begin(_offset, 0.3f, Vector3.zero));
        });

        return(task);
    }
Exemple #12
0
        private Task partTask(GameObject obj, Transform transform, float duration)
        {
            TweenTask tt = new TweenTask(delegate() {
                Debug.Log(transform.name);
                Tween tween  = TweenTransform.Begin(obj, duration, transform);
                tween.method = _method;
                return(tween);
            });

            return(tt);
        }
Exemple #13
0
    public Task show(float alpha = 1.0f)
    {
        TweenTask task = new TweenTask(delegate() {
            return(TweenGroupAlpha.Begin(cg_.gameObject, 0.3f, alpha));
        });

        TaskManager.PushFront(task, delegate() {
            gr_.enabled = true;
        });
        return(task);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="data"></param>
    void RemoveExisitingData(TweenData data)
    {
        for (int t = 0; t < taskPool.Count; t++)
        {
            TweenTask task = taskPool[t];

            if (data.actor == task.tweenData.actor)
            {
                taskPool.Remove(task);
            }
        }
    }
Exemple #15
0
    public Task goout()
    {
        Task task = new TweenTask(delegate() {
            TweenWorldPosition t = TweenWorldPosition.Begin(_fly, 0.8f, _up);
            return(t);
        });

        TaskManager.PushFront(task, delegate {
            _fly.transform.position = _mid;
        });
        return(task);
    }
Exemple #16
0
    public Task comein()
    {
        Task task = new TweenTask(delegate() {
            TweenWorldPosition t = TweenWorldPosition.Begin(_fly, 0.9f, _mid);
            return(t);
        });

        TaskManager.PushFront(task, delegate {
            _fly.transform.position = _down;
        });
        return(task);
    }
Exemple #17
0
    public Task hide()
    {
        TweenTask task = new TweenTask(delegate() {
            return(TweenGroupAlpha.Begin(cg_.gameObject, 0.3f, 0.0f));
        });

        TaskManager.PushFront(task, delegate() {
//			Debug.Log("((())^^^^");
            gr_.enabled = false;
        });

        return(task);
    }
Exemple #18
0
    public Task removeTask()
    {
        TweenTask task = new TweenTask(delegate {
            TweenScale tween = TweenScale.Begin(this.gameObject, 0.2f, Vector3.zero);
            return(tween);
        });

        TaskManager.PushBack(task, delegate {
            this.hide();
            this.gameObject.transform.localScale = Vector3.one;
        });
        return(task);
    }
Exemple #19
0
    public Task endTask()
    {
        TweenTask tt = new TweenTask(delegate {
            return(TweenGroupAlpha.Begin(_view.end.gameObject, 0.3f, 1.0f));
        });

        TaskManager.PushFront(tt, delegate {
            _view.end._cg.alpha   = 0;
            _view.end._score.text = _model.score.ToString();
            _view.end.gameObject.SetActive(true);
        });
        return(tt);
    }
Exemple #20
0
        private Task listTask()
        {
            TweenTask tt = new TweenTask(delegate() {
                _line.SetActive(true);
                Tween tween = TweenScale.Begin(this._line, _time, new Vector3(1, _length, 1));
                return(tween);
            });

            TaskManager.PushFront(tt, delegate
            {
                this._line.transform.localScale = new Vector3(1, 0, 1);
            });
            return(tt);
        }
Exemple #21
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);
    }
Exemple #22
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);
    }
Exemple #23
0
    public Task hide()
    {
        TweenTask task = new TweenTask
                         (
            delegate {
            TweenGroupAlpha alpha = TweenGroupAlpha.Begin(_cg.gameObject, 0.15f, 0.0f);
            return(alpha);
        }
                         );



        TaskManager.PushBack(task, delegate {
            this.gameObject.SetActive(false);
        });
        return(task);
    }
Exemple #24
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);
    }
Exemple #25
0
    /// <summary>
    /// 移动坐标位置
    /// </summary>
    /// <param name="number">方块中的数字</param>
    /// <param name="begin">移动的开始位置</param>
    /// <param name="end">移动后的结束位置</param>
    /// <returns></returns>
    public GDGeek.Task MoveTask(int number, Vector2 begin, Vector2 end)
    {
        Square temp = (Square)Instantiate(origin);
        Square b    = this.GetSquare((int)begin.x, (int)begin.y);
        Square e    = this.GetSquare((int)end.x, (int)end.y);

        temp.transform.parent        = b.transform.parent;
        temp.transform.localScale    = b.transform.localScale;
        temp.transform.localPosition = b.transform.localPosition;

        temp.Show();
        temp.Number = number.ToString();
        b.Hide();           //将开始的隐藏

        //利用缓动任务将此运动加入该任务中
        TweenTask tt = new TweenTask(delegate {
            return(TweenLocalPosition.Begin(temp.gameObject, 0.5f, e.transform.localPosition));
        });

        TaskManager.PushBack(tt, () => { Destroy(temp.gameObject); });
        return(tt);
    }
Exemple #26
0
        public override void AddComponents()
        {
            base.AddComponents();

            if (region != null)
            {
                Width  = region.Width;
                Height = region.Height;

                var component = new ScalableSliceComponent(region);
                AddComponent(component);

                component.Scale  = Vector2.Zero;
                component.Origin = new Vector2(Width / 2, Height / 2);
                task             = Tween.To(1f, component.Scale.X, x => component.Scale = new Vector2(x), 0.25f, Ease.BackOut);
            }
            else
            {
                var size = Font.Medium.MeasureString(text);

                Width  = size.Width;
                Height = size.Height;

                var component = new TextGraphicsComponent(text);
                AddComponent(component);

                component.Scale = 0;
                task            = Tween.To(component, new { Scale = 1.3f }, 0.25f, Ease.BackOut);
            }

            Depth   = Layers.InGameUi;
            CenterX = entity.CenterX + offset;
            Y       = entity.Y - Height;

            y = 12;
            Tween.To(0, y, x => y = x, 0.2f);

            UpdatePosition();
        }
Exemple #27
0
    public Task moveTask(int number, Vector2 begin, Vector2 end)
    {
        Debug.Log("move");
        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));

        Debug.Log(end);
        s.transform.parent        = 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));
        });

        TaskManager.PushBack(tt, delegate {
            GameObject.DestroyObject(s.gameObject);
        });
        return(tt);
    }
Exemple #28
0
        public override void AddComponents()
        {
            base.AddComponents();

            string text;

            if (Locale.Current == "de" || Locale.Current == "it")
            {
                text = item.Hidden ? "???" : (item.Scourged ? $"{item.Name} ({Locale.Get("scourged")})" : item.Name);
            }
            else
            {
                text = item.Hidden ? "???" : (item.Scourged ? $"{Locale.Get("scourged")} {item.Name}" : item.Name);
            }

            var size = Font.Medium.MeasureString(text);

            Width  = size.Width;
            Height = size.Height;

            var component = new TextGraphicsComponent(text);

            AddComponent(component);

            component.Scale = 0;
            task            = Tween.To(component, new { Scale = 1.3f }, 0.25f, Ease.BackOut);

            y = 12;
            Tween.To(0, y, x => y = x, 0.2f);

            UpdatePosition();

            if (item.Scourged)
            {
                component.Color = Palette.Default[ItemGraphicsComponent.ScourgedColorId];
            }
        }
Exemple #29
0
    private State getSelect()
    {
        StateWithEventMap select = TaskState.Create(delegate {
            TweenTask tt = new TweenTask(delegate() {
                TweenLocalPosition tlp = TweenLocalPosition.Begin(this._offset, 0.3f, new Vector3(-_select * Jianju_, 0, 0));

                return(tlp);
            });
            //TweenLocalPosition();

            /*
             * Task task = new Task();
             * task.init = delegate {
             *      Debug.Log(_select);
             * };
             * return task;*/
            return(tt);
        }, fsm_, "normal");

        select.onStart += delegate {
//			Debug.Log("select");
        };
        return(select);
    }
Exemple #30
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);
    }
    void UpdateTasks()
    {
        /****************************************************************
        * Task Loop                                                    *
        ****************************************************************/

        for (int t = 0; t < taskPool.Count; t++)
        {
            TweenTask task = taskPool[t];

            // Calculate progress
            float progress = Mathf.Clamp01(task.elaspedTime / task.tweenData.duration);
            Debug.Log(progress);

            // Calculate eased value from 0.0f to 1.0f
            float easedValue = EasingFunction.GetEasingFunction(task.tweenData.func)
                               /*EasingFunction*/ (0.0f, 1.0f, progress);

            // Clamps eased value if asked for (IDK why you would need this, but it's there for people to enjoy!)
            if (task.tweenData.isClamped)
            {
                easedValue = Mathf.Clamp01(easedValue);
            }

            /****************************************************************
            * Modification Section                                         *
            ****************************************************************/

            // Modding position
            if (task.tweenData.modifyPosition)
            {
                // Calculate actor lerped position via. ease
                Vector3 newPosition = Vector3.LerpUnclamped(
                    task.tweenData.startPosition,
                    task.tweenData.endPosition,
                    easedValue
                    );

                // Apply new position to actor
                task.tweenData.actor.position = newPosition;
            }

            // Modding angle
            if (task.tweenData.modifyAngle)
            {
                // Calculate actor lerped angle via. ease
                Quaternion newAngle = Quaternion.LerpUnclamped(task.tweenData.startRotation,
                                                               task.tweenData.endRotation,
                                                               easedValue
                                                               );

                // Apply new angle to actor
                task.tweenData.actor.rotation = newAngle;
            }

            // Modding Scale
            if (task.tweenData.modifyAngle)
            {
                // Calculate actor lerped scale via. ease
                Vector3 newScale = Vector3.LerpUnclamped(
                    task.tweenData.startScale,
                    task.tweenData.endScale,
                    easedValue
                    );

                // Apply new scale to actor
                task.tweenData.actor.localScale = newScale;
            }

            task.elaspedTime += Time.deltaTime;

            // Removes task when it's finished
            if (task.elaspedTime >= task.tweenData.duration)
            {
                taskPool.Remove(task);
            }
        }
    }