protected void MoveSelf()
 {
     if (isMovingSelf && selfMove != Vector2.zero)
     {
         MoveCompiler.AddOrEditSelfMoveFactor(selfMove, movementDuration > 0, movementDuration, afterMoveCallback);
     }
 }
    public void HandleMovesOnUpdate()
    {
        if (CanMove)
        {
            if (!IsInCinematicMode && isMovingSelf)
            {
                MoveTimeCounter -= Time.deltaTime;

                if (!AreMovementsRestrained)
                {
                    MoveCompiler.AddOrEditSelfMoveFactor(selfMove);
                }

                if (MoveTimeCounter <= 0)
                {
                    StartWait();
                }
            }
            else
            {
                TimeBetweenMovesCounter -= Time.deltaTime;

                if (TimeBetweenMovesCounter <= 0)
                {
                    StartMove();
                }
            }
        }
    }
    public void InterruptMoving()
    {
        CanMove      = false;
        isMovingSelf = false;

        MoveCompiler.RemoveSelfMoveFactor();
    }
    public void StartWait()
    {
        TimeBetweenMovesCounter = Random.Range(betweenMovesAverageTime * (1 - betweenMovesAverageTimeDelta), betweenMovesAverageTime * (1 + betweenMovesAverageTimeDelta));
        isMovingSelf            = false;

        MoveCompiler.RemoveSelfMoveFactor();
    }
Пример #5
0
 // Use this for initialization
 protected void Start()
 {
     animator         = GetComponent <Animator>();
     thisRigidbody    = GetComponent <Rigidbody2D>();
     helper           = FindObjectOfType <Helper>();
     LastMove         = new Vector2(0, -1);
     MoveCompiler     = new MoveCompiler(this, helper);
     defaultMoveSpeed = moveSpeed;
 }