65 lines
2.2 KiB
C#
65 lines
2.2 KiB
C#
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<CharacterBase>
|
|
{
|
|
[Title("Main Parts")]
|
|
public Transform flexibleCenterPoint;
|
|
public Transform staticCenterPoint;
|
|
public Transform cameraLockingPoint;
|
|
public Transform footPoint;
|
|
public Transform infoUIPoint;
|
|
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<string, Transform> customBodyParts;
|
|
|
|
[Title("Attachments")]
|
|
public Dictionary<string, GameObject> attachments;
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
public partial class BodyPartsSubcontroller
|
|
{
|
|
public AuxiliaryDrone AuxiliaryDrone => GetAttachment("AuxiliaryDrone")?.GetComponent<AuxiliaryDrone>();
|
|
|
|
public GameObject GetAttachment(string attachmentName)
|
|
{
|
|
return attachments.GetValueOrDefault(attachmentName);
|
|
}
|
|
}
|
|
} |