Exemple #1
0
 protected void clearCallback()
 {
     mMoveDoneCallback = null;
     mMoveDoneUserData = null;
     mMovingCallback   = null;
     mMovingUserData   = null;
 }
Exemple #2
0
    protected void Move(Character chara, Vector3 destPos, float moveSpeed, MoveCallback callback)
    {
        Vector3 dir = destPos - chara.position;

        dir.Normalize();

        float mttime = Vector3.Distance(chara.position, destPos) / moveSpeed;
        float mtime  = 0f;

        AddEvent(delegate
        {
            mtime += Time.deltaTime;
            if (mtime >= mttime)
            {
                chara.position = destPos;
                callback();
                return(true);
            }
            else
            {
                float md        = Time.deltaTime * moveSpeed;
                chara.position += dir * md;
            }
            return(false);
        });
    }
	public void moveToTarget(Transform target, MoveCallback callback)
	{
		currentState = MOVEMENT_STATE.TARGET;
		this.target = target;
		moveCallback = callback;
		doFacing(this.target.position);
	}
Exemple #4
0
    protected void doneCallback(MoveCallback curDoneCallback, object curDoneUserData, ComponentMove component)
    {
        // 先保存回调,然后再调用回调之前就清空回调,确保在回调函数执行时已经完全完成
        MoveCallback tempCallback = curDoneCallback;
        object       tempUserData = curDoneUserData;

        clearCallback();
        if (tempCallback != null)
        {
            tempCallback(component, tempUserData, false, true);
        }
    }
Exemple #5
0
 public override void init()
 {
     base.init();
     mTimeOffset       = 0.0f;
     mMoveTime         = 0.0f;
     mStartPosition    = Vector3.zero;
     mDestPosition     = Vector3.zero;
     mMovingCallback   = null;
     mMoveDoneCallback = null;
     mMovingUserData   = null;
     mMoveDoneUserData = null;
 }
Exemple #6
0
    protected static void setCallback(MoveCallback callback, object userData, ref MoveCallback curCallback, ref object curUserData, ComponentMove component)
    {
        MoveCallback tempCallback = curCallback;
        object       tempUserData = curUserData;

        curCallback = null;
        curUserData = null;
        // 如果回调函数当前不为空,则是中断了正在进行的变化
        if (tempCallback != null)
        {
            tempCallback(component, tempUserData, true, false);
        }
        curCallback = callback;
        curUserData = userData;
    }
Exemple #7
0
        public System.IAsyncResult BeginMove(String fileName, System.AsyncCallback callback)
        {
            MoveCallback ftpCallback = new MoveCallback(this.Move);

            return(ftpCallback.BeginInvoke(fileName, callback, null));
        }
Exemple #8
0
 public void setMovingCallback(MoveCallback movingCallback, object userdata)
 {
     setCallback(movingCallback, userdata, ref mMovingCallback, ref mMovingUserData, this);
 }
	public void moveToLocation(Vector3 targetLocation, MoveCallback callback)
	{
		moveCallback = callback;
		moveToLocation( targetLocation );
	}
Exemple #10
0
    public void MoveSrcPos(Character chara, MoveCallback callback)
    {
        float moveSpeed = 50f;
        float animSpeed = (moveSpeed / attacker.moveSpeed) * attacker.moveAnimSpeed;
        Move(chara, chara.SrcPos, moveSpeed, "run", animSpeed, delegate
        {
            chara.position = new Vector3(chara.SrcPos.x, chara.SrcPos.y, chara.SrcPos.z);
            chara.rotateBack();
            chara.Idle();

            callback();
        });
    }
Exemple #11
0
 public void setMoveDoneCallback(MoveCallback doneCallback, object userdata)
 {
     setCallback(doneCallback, userdata, ref mMoveDoneCallback, ref mMoveDoneUserData, this);
 }
Exemple #12
0
 public void setMoveDoneCallback(MoveCallback moveDoneCallback, object userData)
 {
     mMoveDoneCallback = moveDoneCallback;
     mMoveDoneUserData = userData;
 }
Exemple #13
0
    public void MoveNoRotate(Transform tran, Vector3 destPos, float moveSpeed, MoveCallback callback)
    {
        Vector3 dir = destPos - tran.position;
        dir.Normalize();

        float mttime = Vector3.Distance(tran.position, destPos) / moveSpeed;
        float mtime = 0f;
        AddEvent(delegate
        {
            mtime += Time.deltaTime;
            if (mtime >= mttime)
            {
                tran.position = destPos;
                callback();
                return true;
            }
            else
            {
                float md = Time.deltaTime * moveSpeed;
                tran.position += dir * md;
            }
            return false;
        });
    }
Exemple #14
0
	public void LeaveTheFront()
	{

		//retrieve the minion from the front
		m_LocationVector = new Vector2 (m_LocationVector.x, AudienceManager.Instance.GetInitialYPos ());
		//setup callback
		m_MoveCallback += FrontLeft;

		m_Moving=true;

		m_Animator.SetBool ("NoFaith", true);
	
		//leave the front
		StartCoroutine (MoveToLocation ());
	}
Exemple #15
0
 protected virtual void MoveTo(Vector3 pos, float animSpeed, MoveCallback callback)
 {
     Move(attacker, pos, moveSpeed, runAnim, animSpeed, callback);
 }
Exemple #16
0
 public Move(Square square, bool harmMove = true)
 {
     this.square     = square;
     this.callback   = null;
     this.isHarmMove = harmMove;
 }
Exemple #17
0
	private void FrontReached()
	{
		if (GameManager.Instance.m_MovingFirstMadaFaka) {
			GameManager.Instance.m_MovingFirstMadaFaka=false;
			BossManager.Instance.deactivateSafeZone ();
		}
		m_MoveCallback -= FrontReached;
		m_Animator.SetBool ("ToLife", false);
		//m_Moving = false;
		m_Alive = true;
	}
Exemple #18
0
    //  延迟移动窗口, 并且可以设置移动时和移动完成的回调函数
    public static void MOVE_WINDOW_DELAY_EX(LayoutScript script, txUIObject obj, float delayTime, Vector3 start, Vector3 target, float time, MoveCallback movingCallback, object movingUserData, MoveCallback moveDoneCallback, object moveDoneUserData)
    {
        CommandWindowMove cmd = mCommandSystem.newCmd <CommandWindowMove>(false, true);

        cmd.mStartPosition = start;
        cmd.mDestPosition  = target;
        cmd.mMoveTime      = time;
        cmd.setMovingCallback(movingCallback, movingUserData);
        cmd.setMoveDoneCallback(moveDoneCallback, moveDoneUserData);
        mCommandSystem.pushDelayCommand(cmd, obj, delayTime);
        script.addDelayCmd(cmd);
    }
Exemple #19
0
    // 移动窗口, 并且可以设置移动时和移动完成的回调函数
    public static void MOVE_WINDOW_EX(txUIObject obj, Vector3 start, Vector3 target, float time, float offsetTime, MoveCallback movingCallback, object movingUserData, MoveCallback moveDoneCallback, object moveDoneUserData)
    {
        CommandWindowMove cmd = mCommandSystem.newCmd <CommandWindowMove>(false);

        cmd.mStartPosition = start;
        cmd.mDestPosition  = target;
        cmd.mMoveTime      = time;
        cmd.mTimeOffset    = offsetTime;
        cmd.setMovingCallback(movingCallback, movingUserData);
        cmd.setMoveDoneCallback(moveDoneCallback, moveDoneUserData);
        mCommandSystem.pushCommand(cmd, obj);
    }
 public void SubscribeMove(MoveCallback moveCallback)
 {
     _moveCallbacks.Add(moveCallback);
 }
Exemple #21
0
 public void RegisterCallback(MoveCallback callback)
 {
     this.callback = callback;
 }
Exemple #22
0
 public void RegisterCallbackToReset(MoveCallback callback)
 {
     this.callbackToReset = callback;
 }
Exemple #23
0
	public void MoveToFront()
	{

		//Move the minion to the front
		m_LocationVector = new Vector2(m_LocationRef.anchoredPosition.x,AudienceManager.Instance.GetRandomHeight());
		///set it to initial position
		m_RectT.anchoredPosition = new Vector2 (m_LocationRef.anchoredPosition.x, AudienceManager.Instance.GetInitialYPos ());
		//setup callback
		m_MoveCallback += FrontReached;
		m_Moving = true;
		m_Animator.SetBool ("ToLife", true);
		//move to the front
		StartCoroutine (MoveToLocation ());
	}
Exemple #24
0
    protected void Move(Character chara, Vector3 destPos, float moveSpeed, MoveCallback callback)
    {
        Vector3 dir = destPos - chara.position;
        dir.Normalize();

        float mttime = Vector3.Distance(chara.position, destPos) / moveSpeed;
        float mtime = 0f;
        AddEvent(delegate
        {
            mtime += Time.deltaTime;
            if (mtime >= mttime)
            {
                chara.position = destPos;
                callback();
                return true;
            }
            else
            {
                float md = Time.deltaTime * moveSpeed;
                chara.position += dir * md;
            }
            return false;
        });
    }
Exemple #25
0
	private void FrontLeft()
	{
		m_MoveCallback -= FrontLeft;
		m_Animator.SetBool ("NoFaith", false);
		m_Animator.SetInteger ("Type", 4);
		//m_Moving = false;
		m_Alive = false;
	}
Exemple #26
0
    public void Move(Transform tran, Vector3 destPos, float moveSpeed, MoveCallback callback)
    {
        float dist = Vector3.Distance(tran.position, destPos);
        if (dist > 0f)
        {
            Vector3 dir = destPos - tran.position;
            dir.Normalize();
            Quaternion toRotation = Quaternion.LookRotation(dir);
            tran.rotation = toRotation;

            float mttime = dist / moveSpeed;
            float mtime = 0f;
            AddEvent(delegate
            {
                turnTarget();
                mtime += Time.deltaTime;
                if (mtime >= mttime)
                {
                    tran.position = destPos;
                    callback();
                    return true;
                }
                else
                {
                    float md = Time.deltaTime * moveSpeed;
                    tran.position += dir * md;
                }
                return false;
            });
        }
        else
        {
            callback();
        }
    }
Exemple #27
0
 public MoveState(MoveCallback start, MoveCallback end, float speed)
 {
     event_move_start += start;
     event_move_end   += end;
     this.speed        = speed;
 }
Exemple #28
0
    public void Move(Transform tran, Transform tranDest, float moveSpeed, MoveCallback callback)
    {
        Vector3 dir = tranDest.position - tran.position;
        dir.Normalize();
        Quaternion toRotation = Quaternion.LookRotation(dir);
        tran.rotation = toRotation;

        AddEvent(delegate
        {
            dir = tranDest.position - tran.position;
            dir.Normalize();
            float dist = Vector3.Distance(tran.position, tranDest.position);
            float md = Time.deltaTime * moveSpeed;
            if (md >= dist)
            {
                tran.position = tranDest.position;
                callback();
                return true;
            }
            else
            {
                tran.position += dir * md;
            }
            return false;
        });
    }
Exemple #29
0
 protected virtual void MoveTo(Vector3 pos, float animSpeed, MoveCallback callback)
 {
     Move(attacker, pos, moveSpeed, runAnim, animSpeed, callback);
 }
Exemple #30
0
 public void MoveNoRotate(Character chara, Vector3 destPos, float moveSpeed, string anim, float animSpeed, MoveCallback callback)
 {
     chara.PlayAnim(anim, animSpeed);
     MoveNoRotate(chara, destPos, moveSpeed, callback);
 }