Files
5.24BuYu/Assets/Framework/Tool/RedPacket/LayeredPool.cs
T
2026-08-22 17:23:07 +08:00

72 lines
2.4 KiB
C#

using UnityEngine;
using System.Collections.Generic;
public class LayeredPool
{
public LayeredPool(int poolNum,int prizeCount)
{
game = new CascadeRedPacketInt(poolNum, prizeCount);
}
CascadeRedPacketInt game;
public List<RedPacketRecord> BossGlodCoin(int count,Vector3 v3Point, int killerSitPos = -1)
{
if (game.HasNext())
{
int currentSubCount = count;
// 传入动态的个数
List<RedPacketRecord> result = game.GrabFullCycle(currentSubCount);
CreateFishManager.Instance.SyncGameData_SendRendromDieFishID(currentSubCount, result, v3Point, killerSitPos);
return result;
}
return null;
}
public List<RedPacketRecord> BossGlodCoinNotFish(int count)
{
if (game.HasNext())
{
int currentSubCount = count;
// 传入动态的个数
List<RedPacketRecord> result = game.GrabFullCycle(currentSubCount);
return result;
}
return null;
}
public List<RedPacketRecord> BossGlodCoinRandrom(Vector3 v3Point, int min=3,int max=8, int killerSitPos = -1)
{
if (game.HasNext())
{
// --- 模拟动态逻辑 ---
// 假设:第1个人裂变成3个包,第2个人裂变成10个包...
// 这里用随机数模拟每次裂变个数不同 (3 到 8 之间)
int currentSubCount = Random.Range(min, max + 1);
// 传入动态的个数
List<RedPacketRecord> result = game.GrabFullCycle(currentSubCount);
CreateFishManager.Instance.SyncGameData_SendRendromDieFishID(currentSubCount, result, v3Point, killerSitPos);
return result;
}
return null;
}
/// <summary>
/// 随机分包 + 随机爆金币但不死鱼:
/// 发 randomDieFish 帧(guids 为空),所有客户端只播屏幕随机位置的金币特效,场上鱼不死亡。
/// </summary>
public List<RedPacketRecord> BossGlodCoinRandromNotFish(Vector3 v3Point, int min=3, int max=8, int killerSitPos = -1)
{
if (game.HasNext())
{
int currentSubCount = Random.Range(min, max + 1);
List<RedPacketRecord> result = game.GrabFullCycle(currentSubCount);
CreateFishManager.Instance.SyncGameData_SendRandomCoinFX(result, v3Point, killerSitPos);
return result;
}
return null;
}
}