41 lines
927 B
C#

using UnityEngine;
using System.Collections;
[AddComponentMenu("Playground/Movement/Auto Move")]
[RequireComponent(typeof(Rigidbody2D))]
public class AutoMove : Physics2DObject
{
// These are the forces that will push the object every frame
// don't forget they can be negative too!
public Vector2 direction = new Vector2(1f, 0f);
//is the push relative or absolute to the world?
public bool relativeToRotation = true;
// FixedUpdate is called once per frame
void FixedUpdate ()
{
if(relativeToRotation)
{
rigidbody2D.AddRelativeForce(direction * 2f);
}
else
{
rigidbody2D.AddForce(direction * 2f);
}
}
//Draw an arrow to show the direction in which the object will move
void OnDrawGizmosSelected()
{
if(this.enabled)
{
float extraAngle = (relativeToRotation) ? transform.rotation.eulerAngles.z : 0f;
Utils.DrawMoveArrowGizmo(transform.position, direction, extraAngle);
}
}
}