using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; namespace ABI.CCK.Components { [AddComponentMenu("ChilloutVR/CVR Attachment")] [HelpURL("https://developers.abinteractive.net/cck/components/attachment/")] public class CVRAttachment : MonoBehaviour, ICCK_Component { [System.Flags] public enum AttachmentType { Bone = 1, Tracker = 2, SnappingPoint = 4, } public AttachmentType attachmentType; [System.Flags] public enum BoneType { Hips = 1, Spine = 2, Chest = 4, UpperChest = 8, Neck = 16, Head = 32, LeftUpperLeg = 64, LeftLowerLeg = 128, LeftFoot = 256, RightUpperLeg = 512, RightLowerLeg = 1024, RightFoot = 2048, LeftShoulder = 4096, LeftArm = 8192, LeftForearm = 16384, LeftHand = 32768, RightShoulder = 65536, RightArm = 131072, RightForearm = 262144, RightHand = 524288, Root = 1048576 } public BoneType boneType = 0; [System.Flags] public enum TrackerType { MainCamera = 1, RightHand = 2, LeftHand = 4, AdditionalTracker = 8 } public TrackerType trackerType = 0; public List snappingPointTypes = new List(); public bool useFixedPositionOffset = false; public bool useFixedRotationOffset = false; public Vector3 positionOffset; public Vector3 rotationOffset; public float maxAttachmentDistance = 0f; [SerializeField] public UnityEvent onAttach; [SerializeField] public UnityEvent onDeattach; public void Attach() { } public void DeAttach() { } } }