using System.Collections.Generic; using Continentis.MainGame.Character; using Sirenix.OdinInspector; using SoulliesFramework.General; using UnityEngine; namespace Continentis.MainGame.UI { [CreateAssetMenu(menuName = "Continentis/MainGame/HUD/HUDData", fileName = "HUDData")] public partial class HUDData : SerializedScriptableObject { public Dictionary hudInfos; } [System.Serializable] public class HUDInfo { public GameObject hudPrefab; public string attachedPartName = "Center"; public Vector2 positionOffset = Vector2.zero; public HUDElementBase GenerateHUD(CombatCharacterViewBase characterView, HUDContainer hudContainer) { Transform attachedPart = characterView.hudPivot.Find(attachedPartName) ?? characterView.hudPivot.GetChild(0); RectTransform hudPageTransform = CombatUIManager.Instance.hudPage.rectTransform; HUDElementBase element = Object.Instantiate(hudPrefab, hudPageTransform).GetComponent(); element.SetPosition(attachedPart.position, positionOffset); element.container = hudContainer; element.hudTransform.SetParent(hudContainer.transform); return element; } } }