public static BattleFrameData GetFrameDate(this ClientContext context, int frame) { BattleReport battleReport = context.battleReport.value; BattleFrameData battleFrameData = null; battleReport.battleFrames.TryGetValue(frame, out battleFrameData); return(battleFrameData); }
protected override void Execute(List <ClientEntity> entities) { BattleFrameData battleFrameData = _context.GetFrameDate(_context.frameCounter.value); if (battleFrameData == null) { return; } foreach (var action in battleFrameData.battleActions) { _context.CreateEntity().AddBattleAction(action); } }
public static void ReportBattleAction(this ServerContext context, BattleAction battleAction) { BattleReport battleReport = context.battleReport.value; int frame = context.frameCounter.value; float time = context.GetTimeNow(); BattleFrameData battleFrameData = null; if (!battleReport.battleFrames.TryGetValue(frame, out battleFrameData)) { battleFrameData = new BattleFrameData(); battleFrameData.time = time; battleReport.battleFrames.Add(frame, battleFrameData); battleReport.battleMeta.frameDataCount++; battleReport.battleMeta.timeCost = time; battleReport.battleMeta.frameCount = frame; } battleFrameData.battleActions.Add(battleAction); battleReport.battleMeta.actionCount++; }