public void OnActionPadChangeDirection(ActionDPad.ActionPadDirection direction) { Vector2 directionVector = VectorForPadDirection(direction); horizontal = directionVector.x; vertical = directionVector.y; }
public Vector2 VectorForPadDirection(ActionDPad.ActionPadDirection padDirection) { float maxX = 1.0f; float maxY = 1.1f; switch (padDirection) { case ActionDPad.ActionPadDirection.None: return(Vector2.zero); case ActionDPad.ActionPadDirection.Up: return(new Vector2(0, maxY)); case ActionDPad.ActionPadDirection.UpRight: return(new Vector2(maxX, maxY)); case ActionDPad.ActionPadDirection.Right: return(new Vector2(maxX, 0)); case ActionDPad.ActionPadDirection.DownRight: return(new Vector2(maxX, -maxY)); case ActionDPad.ActionPadDirection.Down: return(new Vector2(0, -maxY)); case ActionDPad.ActionPadDirection.DownLeft: return(new Vector2(-maxX, -maxY)); case ActionDPad.ActionPadDirection.Left: return(new Vector2(-maxX, 0)); case ActionDPad.ActionPadDirection.UpLeft: return(new Vector2(-maxX, maxY)); default: return(Vector2.zero); } }