migration from new repo
This commit is contained in:
commit
423134a840
26930 changed files with 3458568 additions and 0 deletions
BIN
Assets/_/Features/UI/Runtime/Adventurers/.DS_Store
vendored
Normal file
BIN
Assets/_/Features/UI/Runtime/Adventurers/.DS_Store
vendored
Normal file
Binary file not shown.
|
|
@ -0,0 +1,91 @@
|
|||
using System;
|
||||
using Adventurer.Runtime;
|
||||
using Core.Runtime;
|
||||
using EventSystem.Runtime;
|
||||
using Quests.Runtime;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class AdventurerCardSelectionnable : BaseMonobehaviour
|
||||
{
|
||||
|
||||
#region Publics
|
||||
|
||||
public Sprite m_selectedSprite;
|
||||
public Sprite m_unselectedSprite;
|
||||
public GameObject m_BGSprite;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Unity API
|
||||
|
||||
void Start()
|
||||
{
|
||||
_adventurer = GetComponent<AdventurerCardUI>().Adventurer;
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (_isSelected)
|
||||
{
|
||||
m_BGSprite.GetComponent<Image>().sprite = m_selectedSprite;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_BGSprite.GetComponent<Image>().sprite = m_unselectedSprite;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Main Methods
|
||||
|
||||
public void OnClick()
|
||||
{
|
||||
if (!QuestManager.Instance.CanSelectedAdventurers())
|
||||
{
|
||||
gameObject.GetComponent<Button>().interactable = false;
|
||||
return;
|
||||
}
|
||||
|
||||
_isSelected = !_isSelected;
|
||||
if (_isSelected)
|
||||
AdventurerSignals.RaiseAdventurerSelected(_adventurer);
|
||||
else
|
||||
AdventurerSignals.RaiseAdventurerUnselected(_adventurer);
|
||||
}
|
||||
|
||||
public void OnPointerEnter()
|
||||
{
|
||||
if (!QuestManager.Instance.CanSelectedAdventurers()) return;
|
||||
transform.localScale = Vector3.one * 1.1f;
|
||||
}
|
||||
|
||||
public void OnPointerExit()
|
||||
{
|
||||
transform.localScale = Vector3.one;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
|
||||
/* Fonctions privées utiles */
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
bool _isSelected;
|
||||
AdventurerClass _adventurer;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ab0eb1ff1f8649719673f40e0d46da0f
|
||||
timeCreated: 1754334060
|
||||
83
Assets/_/Features/UI/Runtime/Adventurers/AdventurerCardUI.cs
Normal file
83
Assets/_/Features/UI/Runtime/Adventurers/AdventurerCardUI.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using Adventurer.Runtime;
|
||||
using Quests.Runtime;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class AdventurerCardUI : MonoBehaviour
|
||||
{
|
||||
#region Publics
|
||||
|
||||
[Header("UI References")]
|
||||
public GameObject m_hourglass;
|
||||
public TMPro.TextMeshProUGUI m_name;
|
||||
public TMPro.TextMeshProUGUI m_class;
|
||||
//public TMPro.TextMeshProUGUI m_traits;
|
||||
|
||||
//public TMPro.TextMeshProUGUI m_experience;
|
||||
public TMPro.TextMeshProUGUI m_level;
|
||||
|
||||
public TMPro.TextMeshProUGUI m_strength;
|
||||
public TMPro.TextMeshProUGUI m_defense;
|
||||
public TMPro.TextMeshProUGUI m_agility;
|
||||
public TMPro.TextMeshProUGUI m_intelligence;
|
||||
public Image m_portrait;
|
||||
|
||||
[Header("Only Shop")]
|
||||
public Button m_buyButton;
|
||||
public GameObject m_footer;
|
||||
public TMPro.TextMeshProUGUI m_price;
|
||||
|
||||
AdventurerClass _adventurer;
|
||||
|
||||
#endregion
|
||||
|
||||
public AdventurerClass Adventurer => _adventurer;
|
||||
|
||||
void Start()
|
||||
{
|
||||
QuestManager.OnQuestCompleted += ChangeAvailable;
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
QuestManager.OnQuestCompleted -= ChangeAvailable;
|
||||
}
|
||||
|
||||
public void setup(AdventurerClass adventurerClass)
|
||||
{
|
||||
_adventurer = adventurerClass;
|
||||
m_name.text = adventurerClass.Name;
|
||||
m_class.text = adventurerClass.AdventurerClassEnum.ToString();
|
||||
m_level.text = adventurerClass.Level.ToString();
|
||||
m_strength.text = adventurerClass.Strength.ToString();
|
||||
m_defense.text = adventurerClass.Defense.ToString();
|
||||
m_agility.text = adventurerClass.Agility.ToString();
|
||||
m_intelligence.text = adventurerClass.Intelligence.ToString();
|
||||
|
||||
if(!adventurerClass.IsAvailable && m_hourglass != null)
|
||||
m_hourglass.gameObject.SetActive(true);
|
||||
|
||||
var interaction = GetComponent<InteractionAdventurerCard>();
|
||||
if (interaction != null)
|
||||
interaction.SetAdventurer(adventurerClass);
|
||||
}
|
||||
|
||||
public void SetPortrait(Sprite portrait)
|
||||
{
|
||||
if (m_portrait != null)
|
||||
m_portrait.sprite = portrait;
|
||||
}
|
||||
|
||||
void ChangeAvailable(QuestClass quest)
|
||||
{
|
||||
if (quest.State == QuestStateEnum.Completed && _adventurer.IsAvailable)
|
||||
{
|
||||
if (m_hourglass != null)
|
||||
m_hourglass.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ac33d10d3a201471d817d415fcde31b0
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
namespace GameUI.Runtime
|
||||
{
|
||||
public enum AdventurerSortEnum
|
||||
{
|
||||
None,
|
||||
Available,
|
||||
NotAvailable,
|
||||
AssignedToQuest,
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5b2582e771c9405e93ced5bbc1a0003b
|
||||
timeCreated: 1754337102
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
using Adventurer.Runtime;
|
||||
using Core.Runtime;
|
||||
using EventSystem.Runtime;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class AdventurerUIController : BaseMonobehaviour
|
||||
{
|
||||
|
||||
#region Publics
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Unity API
|
||||
|
||||
void Start()
|
||||
{
|
||||
AdventurerSignals.OnInfoAdventurerPanel += HandleInfoPanel;
|
||||
_uiManager = GetComponent<UIManager>();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Main Methods
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
|
||||
/* Fonctions privées utiles */
|
||||
void HandleInfoPanel(AdventurerClass adventurer)
|
||||
{
|
||||
_uiManager.ShowPanel(_infoAdventurerPanel);
|
||||
_infoAdventurerPanel.GetComponent<InfoAdventurerPanel>().ShowInfo(adventurer);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
[SerializeField] private GameObject _infoAdventurerPanel;
|
||||
UIManager _uiManager;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c4d5cc7840ef451fa22f5d0c277d6aff
|
||||
timeCreated: 1754231469
|
||||
99
Assets/_/Features/UI/Runtime/Adventurers/AdventurersPanel.cs
Normal file
99
Assets/_/Features/UI/Runtime/Adventurers/AdventurersPanel.cs
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
using System.Collections.Generic;
|
||||
using EventSystem.Runtime;
|
||||
using Adventurer.Runtime;
|
||||
using Core.Runtime;
|
||||
using Quests.Runtime;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class AdventurersPanel : BasePanel
|
||||
{
|
||||
#region Unity API
|
||||
|
||||
private void Start()
|
||||
{
|
||||
AdventurerSignals.OnPortraitCaptured += OnPortraitCapturedHandler;
|
||||
AdventurerSignals.OnRefresh += DisplayAdventurers;
|
||||
|
||||
foreach (var txt in GetComponentsInChildren<TMP_Text>())
|
||||
{
|
||||
txt.text = LocalizationSystem.Instance.GetLocalizedText(txt.text);
|
||||
}
|
||||
|
||||
DisplayAdventurers();
|
||||
}
|
||||
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
AdventurerSignals.OnPortraitCaptured -= OnPortraitCapturedHandler;
|
||||
AdventurerSignals.OnRefresh -= DisplayAdventurers;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
void OnPortraitCapturedHandler(AdventurerClass adventurer, Sprite portrait)
|
||||
{
|
||||
foreach (Transform child in _heroesPanel.transform)
|
||||
{
|
||||
AdventurerCardUI card = child.GetComponent<AdventurerCardUI>();
|
||||
if (card != null && card.Adventurer == adventurer)
|
||||
{
|
||||
card.SetPortrait(portrait);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DisplayAdventurers()
|
||||
{
|
||||
foreach (Transform child in _heroesPanel.transform)
|
||||
{
|
||||
Destroy(child.gameObject);
|
||||
}
|
||||
|
||||
List<AdventurerClass> filtered = FilterAdventurers(_sort);
|
||||
|
||||
foreach (AdventurerClass adventurer in filtered)
|
||||
{
|
||||
GameObject cardAdventurerGO = Instantiate(_adventurerPrefab, _heroesPanel.transform);
|
||||
cardAdventurerGO.transform.SetAsLastSibling();
|
||||
AdventurerCardUI card = cardAdventurerGO.GetComponent<AdventurerCardUI>();
|
||||
card.setup(adventurer);
|
||||
}
|
||||
}
|
||||
|
||||
List<AdventurerClass> FilterAdventurers(AdventurerSortEnum sortType)
|
||||
{
|
||||
List<AdventurerClass> allAdventurers = GetFact<List<AdventurerClass>>("my_adventurers");
|
||||
switch (sortType)
|
||||
{
|
||||
case AdventurerSortEnum.Available:
|
||||
return allAdventurers.FindAll(a => a.IsAvailable);
|
||||
case AdventurerSortEnum.NotAvailable:
|
||||
return allAdventurers.FindAll(a => !a.IsAvailable);
|
||||
case AdventurerSortEnum.AssignedToQuest:
|
||||
return QuestClass.GetAdventurersFromId(QuestManager.Instance.AssignedAdventurers);
|
||||
case AdventurerSortEnum.None:
|
||||
return allAdventurers;
|
||||
default:
|
||||
return allAdventurers;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
[SerializeField] GameObject _adventurerPrefab;
|
||||
[SerializeField] GameObject _heroesPanel;
|
||||
[SerializeField] AdventurerSortEnum _sort;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5104eaeccc974d829b1bc9298481c2df
|
||||
timeCreated: 1753910448
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 654fd5aae0624c529ff6147dbfb36890
|
||||
timeCreated: 1754078701
|
||||
|
|
@ -0,0 +1,194 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Adventurer.Runtime;
|
||||
using UnityEngine;
|
||||
using Core.Runtime;
|
||||
using EventSystem.Runtime;
|
||||
using Random = UnityEngine.Random;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class RecruitementPanel: BaseMonobehaviour
|
||||
{
|
||||
|
||||
#region Publics
|
||||
|
||||
public AdventurerFactorySO m_adventurersSO;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Unity API
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
if (_content == null)
|
||||
{
|
||||
_content = GetComponent<RectTransform>();
|
||||
}
|
||||
StartCoroutine(OpenRoutine());
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
// Intentionally left empty during debug to validate first-open rendering.
|
||||
// (We avoid destroying children here to keep the list intact between toggles.)
|
||||
}
|
||||
|
||||
IEnumerator OpenRoutine()
|
||||
{
|
||||
// Defer one frame to let Canvas/Scaler/Mask finish their activation cycle
|
||||
yield return null;
|
||||
|
||||
// Generate only if empty (prevents duplicate spawns on reopen)
|
||||
if (_content != null && _content.childCount == 0)
|
||||
{
|
||||
Clear();
|
||||
GenerateAdventurer(20);
|
||||
}
|
||||
|
||||
// Wait until end of frame to ensure instantiated elements are present before forcing layout
|
||||
yield return new WaitForEndOfFrame();
|
||||
|
||||
Canvas.ForceUpdateCanvases();
|
||||
if (_content != null)
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(_content);
|
||||
// Also rebuild the parent (Viewport) if present to ensure mask/scroll region updates
|
||||
var parentRT = _content.parent as RectTransform;
|
||||
if (parentRT != null)
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(parentRT);
|
||||
}
|
||||
}
|
||||
Canvas.ForceUpdateCanvases();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Main Methods
|
||||
|
||||
[ContextMenu("Effacer le container")]
|
||||
public void Clear()
|
||||
{
|
||||
if (_content == null)
|
||||
{
|
||||
_content = GetComponent<RectTransform>();
|
||||
}
|
||||
|
||||
if (_content == null) return;
|
||||
|
||||
foreach (Transform child in _content)
|
||||
{
|
||||
AdventurerCardUI card = child.GetComponent<AdventurerCardUI>();
|
||||
if (card != null)
|
||||
{
|
||||
Destroy(child.gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[ContextMenu("Générer un aventurier")]
|
||||
public void Generate()
|
||||
{
|
||||
GenerateAdventurer();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
|
||||
public void GenerateAdventurer(int nbAdventurers = 1)
|
||||
{
|
||||
if (_content == null)
|
||||
{
|
||||
_content = GetComponent<RectTransform>();
|
||||
}
|
||||
|
||||
Info($"Génération de {nbAdventurers} aventuriers");
|
||||
|
||||
for (int i = 0; i < nbAdventurers; i++)
|
||||
{
|
||||
AdventurerClass newRecruit = m_adventurersSO.CreateAdventurer();
|
||||
Info($"Aventurier n°{i}/{nbAdventurers}. Nom : {newRecruit.Name}");
|
||||
DisplayHeroCard(newRecruit);
|
||||
}
|
||||
|
||||
// Ensure the first-time open displays items correctly
|
||||
StartCoroutine(RefreshLayoutNextFrame());
|
||||
}
|
||||
|
||||
void DisplayHeroCard(AdventurerClass newRecruit)
|
||||
{
|
||||
if (_content == null)
|
||||
{
|
||||
_content = GetComponent<RectTransform>();
|
||||
}
|
||||
|
||||
GameObject adventurerGO = Instantiate(_adventurerPrefab, _content != null ? _content : transform);
|
||||
adventurerGO.transform.SetAsLastSibling();
|
||||
AdventurerCardUI card = adventurerGO.GetComponent<AdventurerCardUI>();
|
||||
|
||||
card.setup(newRecruit);
|
||||
|
||||
string price = ((newRecruit.Agility + newRecruit.Defense + newRecruit.Intelligence + newRecruit.Strength) / 4 * 50).ToString();
|
||||
card.m_price.text = price;
|
||||
card.m_footer.gameObject.SetActive(true);
|
||||
|
||||
card.m_buyButton.onClick.RemoveAllListeners();
|
||||
card.m_buyButton.onClick.AddListener(() => BuyHero(adventurerGO, newRecruit, int.Parse(price)));
|
||||
}
|
||||
|
||||
IEnumerator RefreshLayoutNextFrame()
|
||||
{
|
||||
yield return new WaitForEndOfFrame();
|
||||
Canvas.ForceUpdateCanvases();
|
||||
if (_content != null)
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(_content);
|
||||
}
|
||||
Canvas.ForceUpdateCanvases();
|
||||
}
|
||||
|
||||
void BuyHero(GameObject go, AdventurerClass newRecruit, int price = 0)
|
||||
{
|
||||
Player.Runtime.PlayerClass playerClass = GetFact<Player.Runtime.PlayerClass>(GameManager.Instance.Profile);
|
||||
if (playerClass.AdventurersCount == playerClass.AdventurersMax)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (playerClass.Money >= price)
|
||||
{
|
||||
playerClass.AdventurersCount += 1;
|
||||
playerClass.Money -= price;
|
||||
if (!FactExists<List<AdventurerClass>>("my_adventurers", out _))
|
||||
{
|
||||
SetFact<List<AdventurerClass>>("my_adventurers", new List<AdventurerClass>(), FactPersistence.Persistent);
|
||||
}
|
||||
List<AdventurerClass> myAdventurers = GetFact<List<AdventurerClass>>("my_adventurers");
|
||||
myAdventurers.Add(newRecruit);
|
||||
SaveFacts();
|
||||
_photoStudio.SetActive(true);
|
||||
AdventurerSignals.RaiseSpawnRequested(newRecruit);
|
||||
AdventurerSignals.RaiseRefreshAdventurers();
|
||||
Destroy(go);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
[SerializeField] RectTransform _content; // Assign this to ScrollView/Viewport/Content in the inspector
|
||||
private int _nextId = 0;
|
||||
[SerializeField] GameObject _adventurerPrefab;
|
||||
[SerializeField] GameObject _photoStudio;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1e6344b00ba24272abc7c36ed57c87b0
|
||||
timeCreated: 1753477292
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
using Adventurer.Runtime;
|
||||
using Core.Runtime;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class InfoAdventurerPanel : BaseMonobehaviour
|
||||
{
|
||||
|
||||
#region Publics
|
||||
|
||||
public TextMeshProUGUI m_name;
|
||||
public TextMeshProUGUI m_level;
|
||||
public TextMeshProUGUI m_adventurerClass;
|
||||
public TextMeshProUGUI m_strenght;
|
||||
public TextMeshProUGUI m_defense;
|
||||
public TextMeshProUGUI m_agility;
|
||||
public TextMeshProUGUI m_intelligence;
|
||||
public TextMeshProUGUI m_isAvailable;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Unity API
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Main Methods
|
||||
|
||||
public void ShowInfo(AdventurerClass adventurer)
|
||||
{
|
||||
m_name.text = adventurer.Name;
|
||||
m_level.text = $"Level {adventurer.Level.ToString()}";
|
||||
m_adventurerClass.text = adventurer.AdventurerClassEnum.ToString();
|
||||
m_strenght.text = adventurer.Strength.ToString();
|
||||
m_defense.text = adventurer.Defense.ToString();
|
||||
m_agility.text = adventurer.Agility.ToString();
|
||||
m_intelligence.text = adventurer.Intelligence.ToString();
|
||||
|
||||
if (adventurer.IsAvailable)
|
||||
{
|
||||
m_isAvailable.color = new Color(51, 171, 32);
|
||||
m_isAvailable.text = LocalizationSystem.Instance.GetLocalizedText("in_qg");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_isAvailable.color = new Color(171, 32, 32);
|
||||
m_isAvailable.text = LocalizationSystem.Instance.GetLocalizedText("in_quest");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1651133be0a74e70899889b1ea3cacdc
|
||||
timeCreated: 1754230195
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using Adventurer.Runtime;
|
||||
using Core.Runtime;
|
||||
using EventSystem.Runtime;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GameUI.Runtime
|
||||
{
|
||||
public class InteractionAdventurerCard : BaseMonobehaviour
|
||||
{
|
||||
|
||||
#region Publics
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Unity API
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Main Methods
|
||||
|
||||
public void SetAdventurer(AdventurerClass adventurer)
|
||||
{
|
||||
_adventurer = adventurer;
|
||||
}
|
||||
|
||||
public void OnClick()
|
||||
{
|
||||
AdventurerSignals.RaiseInfoAdventurerPanel(_adventurer);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Utils
|
||||
|
||||
//
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Privates and Protected
|
||||
|
||||
AdventurerClass _adventurer;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 784c9e46540b4c5c8acb20a4605edb44
|
||||
timeCreated: 1754227974
|
||||
Loading…
Add table
Add a link
Reference in a new issue