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,44 @@
using System;
using Cysharp.Threading.Tasks;
namespace DanieleMarotta.RiversongCodeShowcase
{
public class SpeedControlsPanelUIController : UIControllerSystem<SpeedControlsPanelUIView>, IDisposable, IUpdatable
{
[InjectService]
private IGameSpeed _gameSpeed;
private SpeedControlsPanelModel _model;
public SpeedControlsPanelUIController(IServiceLocator serviceLocator) : base(serviceLocator)
{
}
protected override SpeedControlsPanelUIView View => UIRoot.GetView<SpeedControlsPanelUIView>();
public override async UniTask InitializeAsync()
{
await base.InitializeAsync();
_model = new SpeedControlsPanelModel { SpeedLevel = _gameSpeed.SpeedLevel };
View.SetModel(_model);
View.SpeedChanged += OnSpeedChanged;
}
public void Dispose()
{
View.SpeedChanged -= OnSpeedChanged;
}
private void OnSpeedChanged(int speedLevel)
{
_gameSpeed.SetSpeedLevel(speedLevel);
}
public void Update()
{
_model.SpeedLevel = _gameSpeed.SpeedLevel;
}
}
}