mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Initial commit
This commit is contained in:
commit
3c7cc0c973
8391 changed files with 704313 additions and 0 deletions
|
@ -0,0 +1,67 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace UnityEditor.U2D.Animation
|
||||
{
|
||||
internal enum SkeletonAction
|
||||
{
|
||||
None = 0,
|
||||
Select = 1 << 0,
|
||||
RotateBone = 1 << 2,
|
||||
MoveBone = 1 << 3,
|
||||
FreeMoveBone = 1 << 4,
|
||||
MoveEndPosition = 1 << 5,
|
||||
MoveJoint = 1 << 6,
|
||||
ChangeLength = 1 << 7,
|
||||
CreateBone = 1 << 8,
|
||||
SplitBone = 1 << 9,
|
||||
Remove = 1 << 10,
|
||||
}
|
||||
|
||||
internal enum SkeletonMode
|
||||
{
|
||||
Disabled = SkeletonAction.None,
|
||||
Selection = SkeletonAction.Select,
|
||||
EditPose = Selection | SkeletonAction.RotateBone | SkeletonAction.MoveBone,
|
||||
EditJoints = Selection | SkeletonAction.FreeMoveBone | SkeletonAction.MoveEndPosition | SkeletonAction.MoveJoint | SkeletonAction.Remove,
|
||||
CreateBone = Selection | SkeletonAction.MoveJoint | SkeletonAction.Remove | SkeletonAction.CreateBone,
|
||||
SplitBone = Selection | SkeletonAction.MoveEndPosition | SkeletonAction.MoveJoint | SkeletonAction.Remove | SkeletonAction.SplitBone,
|
||||
}
|
||||
|
||||
internal interface ISkeletonView
|
||||
{
|
||||
int InvalidID { get; set; }
|
||||
SkeletonMode mode { get; set; }
|
||||
int defaultControlID { get; set; }
|
||||
int hoveredBoneID { get; }
|
||||
int hoveredJointID { get; }
|
||||
int hoveredBodyID { get; }
|
||||
int hoveredTailID { get; }
|
||||
int hotBoneID { get; }
|
||||
void BeginLayout();
|
||||
void EndLayout();
|
||||
bool CanLayout();
|
||||
Vector3 GetMouseWorldPosition(Vector3 planeNormal, Vector3 planePosition);
|
||||
void LayoutBone(int id, Vector3 position, Vector3 endPosition, Vector3 forward, Vector3 up, Vector3 right, bool isChainEnd);
|
||||
bool DoSelectBone(out int id, out bool additive);
|
||||
bool DoRotateBone(Vector3 pivot, Vector3 normal, out float deltaAngle);
|
||||
bool DoMoveBone(out Vector3 deltaPosition);
|
||||
bool DoFreeMoveBone(out Vector3 deltaPosition);
|
||||
bool DoMoveJoint(out Vector3 deltaPosition);
|
||||
bool DoMoveEndPosition(out Vector3 endPosition);
|
||||
bool DoChangeLength(out Vector3 endPosition);
|
||||
bool DoCreateBoneStart(out Vector3 position);
|
||||
bool DoCreateBone(out Vector3 position);
|
||||
bool DoSplitBone(out int id, out Vector3 position);
|
||||
bool DoRemoveBone();
|
||||
bool DoCancelMultistepAction(bool force);
|
||||
bool IsActionActive(SkeletonAction action);
|
||||
bool IsActionHot(SkeletonAction action);
|
||||
bool IsActionTriggering(SkeletonAction action);
|
||||
bool IsActionFinishing(SkeletonAction action);
|
||||
bool IsRepainting();
|
||||
void DrawBone(Vector3 position, Vector3 right, Vector3 forward, float length, Color color, bool isChained, bool isSelected, bool isJointHovered, bool isTailHovered, bool isHot);
|
||||
void DrawBoneParentLink(Vector3 parentPosition, Vector3 position, Vector3 forward, Color color);
|
||||
void DrawBoneOutline(Vector3 position, Vector3 right, Vector3 forward, float length, Color color, float outlineScale);
|
||||
void DrawCursors(bool canBeActive);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue