public Action MakeAction(GameObject ufo, IActionCallback callback) { var ctl = ufo.GetComponent <UFOController>() as UFOController; switch (curActionMode) { case ActionMode.Kinematics: { var action = UFOActionKinematics.GetAction(ctl.speed) as Action; action.gameObject = ufo; action.transform = ufo.transform; action.callback = callback; return(action); } case ActionMode.Dynamics: { var action = UFOActionDynamics.GetAction(ctl.speed) as Action; action.gameObject = ufo; action.transform = ufo.transform; action.callback = callback; return(action); } default: break; } return(null); }
public static UFOActionDynamics GetAction(Vector3 speed) { UFOActionDynamics action = ScriptableObject.CreateInstance <UFOActionDynamics>(); action.speed = speed; return(action); }