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 TentRemovalSystem : GameSystem, IInitializable, IDisposable
{
[InjectService]
private ISignalBus _signalBus;
[InjectService]
private IDeleteBuildingService _deleteBuildingService;
[InjectService]
private IEntityCache _entityCache;
public TentRemovalSystem(IServiceLocator serviceLocator) : base(serviceLocator)
{
}
public UniTask InitializeAsync()
{
_signalBus.Subscribe<DayStartedSignal>(OnDayStarted);
return UniTask.CompletedTask;
}
public void Dispose()
{
_signalBus.Unsubscribe<DayStartedSignal>(OnDayStarted);
}
private void OnDayStarted(DayStartedSignal signal)
{
var tents = _entityCache.GetTentBuildings();
for (var i = tents.Count - 1; i >= 0; i--)
{
var tent = tents[i];
_deleteBuildingService.Delete(tent, DeleteBuildingOptions.Silent);
}
}
}
}