riversong code showcase

This commit is contained in:
Daniele Marotta
2026-05-21 15:52:18 +02:00
commit 4c9eea1c02
462 changed files with 23406 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
using System;
using Cysharp.Threading.Tasks;
namespace DanieleMarotta.RiversongCodeShowcase
{
public class TimePanelUIController : UIControllerSystem<TimePanelUIView>, IDisposable
{
[InjectService]
private World _world;
[InjectService]
private ISignalBus _signalBus;
private TimePanelModel _model;
public TimePanelUIController(IServiceLocator serviceLocator) : base(serviceLocator)
{
}
protected override TimePanelUIView View => UIRoot.GetView<TimePanelUIView>();
public override async UniTask InitializeAsync()
{
await base.InitializeAsync();
_model = new TimePanelModel();
UpdateModel();
View.SetModel(_model);
_signalBus.Subscribe<EndOfWeekSignal>(OnEndOfWeekSignal);
}
public void Dispose()
{
_signalBus.Unsubscribe<EndOfWeekSignal>(OnEndOfWeekSignal);
}
private void OnEndOfWeekSignal(EndOfWeekSignal signal)
{
UpdateModel();
}
private void UpdateModel()
{
var timeState = _world.TimeState;
_model.Update(timeState.WeekNumber, timeState.MonthNumber, timeState.YearNumber);
}
}
}