void OnBattleBeginMsg(IReadableBuffer data) { frameNoRecieved = 0; msgQ.Clear(); inReplay = replayer.InReplaying; if (!inReplay) { replayer.Clear(); replayer.Record("BattleBegin", data); } Clear(); var randomSeed = data.ReadInt(); var lvID = data.ReadString(); WinnerAward = data.ReadInt(); LoserAward = data.ReadInt(); WinnerAwardUnits = data.ReadStringArr(); var roomID = data.ReadString(); var usrs = data.ReadStringArr(); var usrsInfo = data.ReadArr <UserInfo>(); var sz = data.ReadVec2(); IsPVP = data.ReadBool(); // 设置当前用户信息 var gc = GameCore.Instance; gc.CurrentRoom = this; var meID = gc.MeID; if (usrs[1] == meID) { gc.MePlayer = 1; } else { gc.MePlayer = 2; // 观战者也用 2 视角 } // 初始化房间信息 var usr1 = usrs[1]; var usr2 = usrs[2]; OnBeforeBattleBegin.SC(usr1, usr2, sz, inReplay); Init(roomID, sz, lvID, usr1, usr2, usrsInfo[1], usrsInfo[2]); base.BattleBegin(randomSeed); OnBattleBegin.SC(this, inReplay); }
/// <summary> /// Starts the battle. /// </summary> public void StartBattle() { //TurnManager.Start(); OnBattleBegin?.Invoke(this); }