private ConversationBubbleOrientation(BubbleOrientation orientation) { BubbleOrientation = orientation; SpriteForOrientation = ConversationBubbleOrientationManager.GetSpriteForOrientation(orientation); TmpEulers = ConversationBubbleOrientationManager.GetTmpEulersForOrientation(orientation); TmpLocalPosition = ConversationBubbleOrientationManager.GetTmpPositionForOrientation(orientation); pivotForOrientation = ConversationBubbleOrientationManager.GetPivotForOrientation(orientation); }
internal static Vector2 GetPivotForOrientation(BubbleOrientation orientation) { if (!(orientation == BubbleOrientation.CENTER || orientation == BubbleOrientation.NONE)) { return(orientation == BubbleOrientation.LEFT ? leftAlignedPivot : rightAlignedPivot); } return(centerAlignedPivot); }
internal static Vector3 GetTmpPositionForOrientation(BubbleOrientation orientation) { if (!(orientation == BubbleOrientation.CENTER || orientation == BubbleOrientation.NONE)) { return(orientation == BubbleOrientation.LEFT ? leftAlignedTmpPosition : rightAlignedTmpPosition); } return(centerAlignedTmpPosition); }
internal static Vector3 GetTmpEulersForOrientation(BubbleOrientation orientation) { float zRotationFactor = 0; if (!(orientation == BubbleOrientation.CENTER || orientation == BubbleOrientation.NONE)) { zRotationFactor = orientation == BubbleOrientation.LEFT ? -1 : 1; } return(tmpZRotation * zRotationFactor * Vector3.forward); }
private static ConversationBubbleOrientation GetOpposite(BubbleOrientation orientation) { if (orientation.Equals(BubbleOrientation.LEFT)) { return(ConversationBubbleOrientation.Right); } else if (orientation.Equals(BubbleOrientation.RIGHT)) { return(ConversationBubbleOrientation.Left); } return(ConversationBubbleOrientation.Center); }
internal static Sprite GetSpriteForOrientation(BubbleOrientation orientation) { switch (orientation) { case BubbleOrientation.LEFT: return(leftSprite); case BubbleOrientation.CENTER: return(centeredSprite); case BubbleOrientation.RIGHT: return(rightSprite); case BubbleOrientation.NONE: default: return(null); } }
private static ConversationBubbleOrientation[] MoveTowardsOrientation(BubbleOrientation start, BubbleOrientation desired) { if (start.Equals(desired)) { return(Array.Empty <ConversationBubbleOrientation>()); } else { ConversationBubbleOrientation opposite = GetOpposite(start); return(start.Equals(BubbleOrientation.CENTER) ? new ConversationBubbleOrientation[] { opposite } : new ConversationBubbleOrientation[] { ConversationBubbleOrientation.Center, opposite }); } }
public static ConversationBubbleOrientation[] MoveToLeft(BubbleOrientation start) { return(MoveTowardsOrientation(start, BubbleOrientation.LEFT)); }
public static ConversationBubbleOrientation[] MoveToRight(BubbleOrientation start) { return(MoveTowardsOrientation(start, BubbleOrientation.RIGHT)); }