Esempio n. 1
0
        public override Vector2 GetMovement(PlatformGround platformGround)
        {
            Vector2 diff = platformGround.MovementExecution.Rigidbody.position - lastPosition;

            lastPosition = platformGround.MovementExecution.Rigidbody.position;
            return(diff);
        }
        public override Vector2 GetMovement(PlatformGround platformGround)
        {
            Vector2 diff = platformGround.MovementExecution.Movement;
            float   dis  = diff.magnitude;

            platformGround.MovementExecution.Rigidbody.Cast(diff, hits, dis);
            foreach (RaycastHit2D hit in hits)
            {
                if (hit.distance < dis)
                {
                    if (hit.distance < 0.01f)
                    {
                        return(Vector2.zero);
                    }
                    else
                    {
                        return(diff.normalized * hit.distance);
                    }
                }
            }
            hits.Clear();
            return(diff);
        }
 public override void Initialize(PlatformGround platformGround)
 {
     hits.Clear();
 }
Esempio n. 4
0
 public override void Initialize(PlatformGround platformGround)
 {
     lastPosition = platformGround.MovementExecution.Rigidbody.position;
 }
Esempio n. 5
0
 public abstract Vector2 GetMovement(PlatformGround platformGround);
Esempio n. 6
0
 public abstract void Initialize(PlatformGround platformGround);