using System.Collections.Generic; using Cielonos.MainGame.Inventory; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.Serialization; namespace Cielonos.MainGame.Characters { public partial class BodyPartsSubcontroller : SubcontrollerBase { [Title("Main Parts")] public Transform flexibleCenterPoint; public Transform staticCenterPoint; public Transform cameraLockingPoint; public Transform footPoint; public Transform head; public Transform leftHand; public Transform rightHand; public Transform back; public Transform hips; public Transform leftFoot; public Transform rightFoot; [Title("Custom Parts")] public Dictionary customBodyParts; } public partial class BodyPartsSubcontroller { public Transform GetPart(ViewObjectData.AttachBodyPartType partType) { return partType switch { ViewObjectData.AttachBodyPartType.RightHand => rightHand, ViewObjectData.AttachBodyPartType.LeftHand => leftHand, ViewObjectData.AttachBodyPartType.Head => head, ViewObjectData.AttachBodyPartType.FlexibleCenterPoint => flexibleCenterPoint, ViewObjectData.AttachBodyPartType.Back => back, ViewObjectData.AttachBodyPartType.Hips => hips, ViewObjectData.AttachBodyPartType.RightFoot => rightFoot, ViewObjectData.AttachBodyPartType.LeftFoot => leftFoot, _ => null }; } public Transform GetPart(string partName) { return customBodyParts.GetValueOrDefault(partName); } } }