protected override void Start() { base.Start(); targetPosition = gameObject.transform.position; collider = gameObject.GetComponent <Collider2D>(); //Maybe read this from some property from the character or the mob or whatever speed = Meta.World.Movement.SPEED; facing = Facing.up; active = true; }
void Rotate() { if (collided) { return; } if (targetPosition.x > transform.position.x) //man bewegt sich nach rechts { if (facing != Facing.right) { facing = Facing.right; transform.SetPositionAndRotation(transform.position, Quaternion.Euler(0, 0, -90)); } } if (targetPosition.x < transform.position.x) //man bewegt sich nach links { if (facing != Facing.left) { facing = Facing.left; transform.SetPositionAndRotation(transform.position, Quaternion.Euler(0, 0, 90)); } } if (targetPosition.y > transform.position.y) //man bewegt sich nach oben { if (facing != Facing.up) { facing = Facing.up; transform.SetPositionAndRotation(transform.position, Quaternion.Euler(0, 0, 0)); } } if (targetPosition.y < transform.position.y) //man bewegt sich nach unten { if (facing != Facing.down) { facing = Facing.down; transform.SetPositionAndRotation(transform.position, Quaternion.Euler(0, 0, 180)); } } }