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(); }
// 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; }