This commit is contained in:
2026-06-19 18:18:04 +08:00
parent 1e3fe0e93c
commit c0fa64101d
75 changed files with 23458 additions and 5730 deletions
@@ -102,6 +102,7 @@ using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using static UnityEditor.Progress;
public class GameMainPanel_FishBase : GameMainPanel_Base
{
@@ -186,7 +187,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
foreach (var item in GameManager.Instance.gameData.currRoomData.players)
{
JoinGame(item.position, item.gold, item.cannonMultiple, 0, item.userId, item.cannonId);
JoinGame(item.position, item.gold,item.diamond, item.cannonMultiple, 0, item.userId, item.cannonId);
}
// 生成人机:倒着填空余座位
int botCount = GameManager.Instance.gameData.currRoomData.robotCount;
@@ -201,11 +202,12 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
if (turretList != null && turretList.Count > 0)
defaultTurret = turretList[0].turretNumber;
int botGold = 100000;
int botDiamond = 500;
int botMultiple = paoBeiList != null && paoBeiList.Count > 0 ? paoBeiList[0] : 100;
for (int pos = list_Sits.Count - 1; pos >= 0 && botCount > 0; pos--)
{
if (usedPositions.Contains(pos)) continue;
JoinGame(pos, botGold, botMultiple, 0, "bot_" + pos, defaultTurret.ToString());
JoinGame(pos, botGold, botDiamond, botMultiple, 0, "bot_" + pos, defaultTurret.ToString());
var botSit = list_Sits[pos];
if (botSit != null) botSit.isBot = true;
botCount--;
@@ -246,7 +248,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
targetSit.isBot = false;
targetSit.gameObject.SetActive(false);
}
JoinGame(roomJoinNotice.position, roomJoinNotice.gold, roomJoinNotice.cannonMultiple, 0, roomJoinNotice.userId, roomJoinNotice.cannonId);
JoinGame(roomJoinNotice.position, roomJoinNotice.gold,roomJoinNotice.diamond, roomJoinNotice.cannonMultiple, 0, roomJoinNotice.userId, roomJoinNotice.cannonId);
}
@@ -304,6 +306,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_TurretState, SyncGameData_TurretState);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeTurret, SyncGameData_ChangeTurret);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeCannonMultiple, SyncGameData_ChangeCannonMultiple);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_FreezeFish, SyncGameData_FreezeFish);
btn_TuJian.onClick.AddListener(() =>
{
@@ -320,6 +323,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish);
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_TurretState, SyncGameData_TurretState);
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeTurret, SyncGameData_ChangeTurret);
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeCannonMultiple, SyncGameData_ChangeCannonMultiple);
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_FreezeFish, SyncGameData_FreezeFish);
@@ -1587,6 +1591,30 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
list_Sits[sync.sitPos].LoadTurret(data.turretIndex);
}
public void SyncGameData_ChangeCannonMultiple(SyncGameData sync)
{
if (sync.sitPos == currSitData.posID) return;
var data = FrameDataParser.Parse<FrameData_ChangeCannonMultiple>(sync.frameData);
var sit = list_Sits[sync.sitPos];
sit.consumeGoldNum = data.cannonMultiple;
sit.tMP_TurretConsumeNum.text = data.cannonMultiple.ToString();
}
/// <summary>同步炮倍切换</summary>
public void SyncCannonMultiple(int consumeGold)
{
if (currSitData == null) return;
SyncGameData sgd = new SyncGameData
{
sitPos = currSitData.posID,
frameType = FrameDataType.changeCannonMultiple,
time = BeijingTimeManager.Instance.CurrentTimestampMs,
frameData = new FrameData_ChangeCannonMultiple { cannonMultiple = consumeGold }
};
WebSocketSendList.SyncGameData(sgd);
}
public void SyncGameData_FreezeFish(SyncGameData sync)
{
if (sync.sitPos == currSitData.posID) return; // 自己发的不管
@@ -1603,7 +1631,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
#region 玩家加入/退出(PlayerJoinModule)
public void JoinGame(int sitNum, long goldNum, long consumeGold, int currentTurretIndex, string user = null, string cannonId = null)
public void JoinGame(int sitNum, long goldNum, long DiamondNum, long consumeGold, int currentTurretIndex, string user = null, string cannonId = null)
{
foreach (var sit in list_Sits)
{
@@ -1614,6 +1642,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
sit.consumeGoldNum = consumeGold;
sit.tMP_GoldNum.text = goldNum.ToString();
sit.tMP_DiamondNum.text = DiamondNum.ToString();
sit.tMP_TurretConsumeNum.text = consumeGold.ToString();
if (sit.user == GameManager.Instance?.user?.id)