Separate bomb logic

This commit is contained in:
2025-12-15 04:45:17 +08:00
parent 5236df963e
commit f4a2cac16d
6 changed files with 191 additions and 89 deletions

View File

@@ -0,0 +1,21 @@
// Assets/Scripts/Services/Interfaces/IBombService.cs
using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using UnityEngine;
namespace Services.Interfaces
{
public interface IBombService
{
IReadOnlyList<Vector2Int> CollectTriggeredBombs(IReadOnlyList<Vector2Int> matchPositions);
UniTask DetonateChainAsync(
IReadOnlyList<Vector2Int> initialBombs,
Func<Vector2Int, bool> inBounds,
Func<Vector2Int, Gem> getGemAt,
Func<Vector2Int, UniTask> destroyAtAsync,
int radius,
float bombDelaySeconds,
float bombSelfDelaySeconds);
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 596ff7c31da640178508db656fc88e9b
timeCreated: 1765744682