void CollectionAndReportMarineStates(int ReportId, CodeBattle.Observer.ReportEnum ReportType) { CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder(); rb.Report = ReportType; rb.ReporterId = ReportId; foreach (object _m in marines.Values) { Marine m = (Marine)(_m); if (m.status == CodeBattle.Status.Dead) { continue; } CodeBattle.Observer.MarineStatus.Builder msb = new CodeBattle.Observer.MarineStatus.Builder(); msb.Id = m.id; msb.Status = m.status; CodeBattle.Vector2.Builder vb = new CodeBattle.Vector2.Builder(); vb.X = m.transform.position.x; vb.Z = m.transform.position.z; msb.Position = vb.BuildPartial(); rb.AddMarines(msb); } CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = rb.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); byte[] Data = AddLengthHeader(CmdSerialize(cmd)); SockSend(Data); }
byte[] CmdMarineIdleReport(int MarineId, float cx, float cz) { CodeBattle.Observer.MarineReport.Builder reportBuilder = new CodeBattle.Observer.MarineReport.Builder(); reportBuilder.Report = CodeBattle.Observer.ReportEnum.toidle; CodeBattle.Observer.MarineStatus.Builder msBuilder = new CodeBattle.Observer.MarineStatus.Builder(); msBuilder.Id = MarineId; msBuilder.Status = CodeBattle.Status.Idle; CodeBattle.Vector2.Builder positionBuilder = new CodeBattle.Vector2.Builder(); positionBuilder.X = cx; positionBuilder.Z = cz; msBuilder.Position = positionBuilder.BuildPartial(); reportBuilder.Midle = msBuilder.BuildPartial(); CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = reportBuilder.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); return(CmdSerialize(cmd)); }
byte[] CmdMarineDamageReport(int attackId, int damageId) { Marine attackMarineScript = (Marine)marines[attackId]; Marine damageMarineScript = (Marine)marines[damageId]; CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder(); rb.Report = CodeBattle.Observer.ReportEnum.damage; rb.Mattack = attackMarineScript.GetMarineStatus().BuildPartial(); rb.Mdamage = damageMarineScript.GetMarineStatus().BuildPartial(); CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = rb.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); return(CmdSerialize(cmd)); }
void CollectionAndReportMarineStates(int ReportId, CodeBattle.Observer.ReportEnum ReportType) { CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder(); rb.Report = ReportType; rb.ReporterId = ReportId; foreach(object _m in marines.Values) { Marine m = (Marine)(_m); if (m.status == CodeBattle.Status.Dead) continue; CodeBattle.Observer.MarineStatus.Builder msb = new CodeBattle.Observer.MarineStatus.Builder(); msb.Id = m.id; msb.Status = m.status; CodeBattle.Vector2.Builder vb = new CodeBattle.Vector2.Builder(); vb.X = m.transform.position.x; vb.Z = m.transform.position.z; msb.Position = vb.BuildPartial(); rb.AddMarines(msb); } CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = rb.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); byte[] Data = AddLengthHeader( CmdSerialize(cmd) ); SockSend(Data); }
byte[] CmdMarineIdleReport(int MarineId, float cx, float cz) { CodeBattle.Observer.MarineReport.Builder reportBuilder = new CodeBattle.Observer.MarineReport.Builder(); reportBuilder.Report = CodeBattle.Observer.ReportEnum.toidle; CodeBattle.Observer.MarineStatus.Builder msBuilder = new CodeBattle.Observer.MarineStatus.Builder(); msBuilder.Id = MarineId; msBuilder.Status = CodeBattle.Status.Idle; CodeBattle.Vector2.Builder positionBuilder = new CodeBattle.Vector2.Builder(); positionBuilder.X = cx; positionBuilder.Z = cz; msBuilder.Position = positionBuilder.BuildPartial(); reportBuilder.Midle = msBuilder.BuildPartial(); CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = reportBuilder.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); return CmdSerialize(cmd); }
byte[] CmdMarineDamageReport(int attackId, int damageId) { Marine attackMarineScript = (Marine)marines[attackId]; Marine damageMarineScript = (Marine)marines[damageId]; CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder(); rb.Report = CodeBattle.Observer.ReportEnum.damage; rb.Mattack = attackMarineScript.GetMarineStatus().BuildPartial(); rb.Mdamage = damageMarineScript.GetMarineStatus().BuildPartial(); CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder(); cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport; cmdBuilder.Mrt = rb.BuildPartial(); CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial(); return CmdSerialize(cmd); }