EscapeShooter/My project/Assets/Project Files/Game/Scripts/Weapon System/Gun/GunHolder.cs

44 lines
1.2 KiB
C#

using UnityEngine;
namespace Watermelon.SquadShooter
{
[System.Serializable]
public class GunHolder
{
[SerializeField] HolderData defaultHolderData;
public HolderData DefaultHolderData => defaultHolderData;
[SerializeField] CharacterHolderData[] holderDataOverrides;
public HolderData GetHolderData(CharacterData character)
{
if(!holderDataOverrides.IsNullOrEmpty())
{
foreach(CharacterHolderData holderData in holderDataOverrides)
{
if(holderData.Character == character)
{
return holderData;
}
}
}
return defaultHolderData;
}
[System.Serializable]
public class HolderData
{
public Transform LeftHandHolder;
public Transform RightHandHolder;
}
[System.Serializable]
public class CharacterHolderData : HolderData
{
[Space]
[SerializeField] CharacterData character;
public CharacterData Character => character;
}
}
}