DisplayBattleLocal.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Drawing;
  5. using System.Drawing.Drawing2D;
  6. using CommonAI.RTS; using CommonLang.Vector;
  7. using CommonAI.Zone;
  8. using CommonAI.Zone.Instance;
  9. using CommonAI.RTS.Manhattan;
  10. using CommonAI.Zone.ZoneEditor;
  11. using System.Windows.Forms;
  12. using CommonAIEditor;
  13. using CommonLang;
  14. using System.Collections;
  15. using GameEditorPlugin.Win32;
  16. using GameEditorPlugin.Win32.BattleClient;
  17. using CommonAI.ZoneClient;
  18. using CommonAIClient.Client;
  19. using CommonLang.Protocol;
  20. namespace GameEditorPlugin.Win32.BattleClient
  21. {
  22. public class DisplayBattleLocal<T> : DisplayLayerWorld
  23. where T : BattleLocal
  24. {
  25. public T Battle { get { return base.Client as T; } }
  26. public override void InitClient(CommonAIClient.Client.AbstractBattle client)
  27. {
  28. base.InitClient(client);
  29. Battle.Layer.LayerInit += onLayerInit;
  30. }
  31. private void onLayerInit(ZoneLayer layer)
  32. {
  33. layer.ProcessMessage(Battle.Zone.GetSyncUnitsEvent());
  34. layer.ProcessMessage(Battle.Zone.GetSyncFlagsEvent());
  35. }
  36. protected override void clientUpdate(int intervalMS)
  37. {
  38. if (!base.Pause)
  39. {
  40. Battle.BeginUpdate(intervalMS);
  41. if (Battle.Zone != null)
  42. {
  43. Battle.Zone.Update(intervalMS, false);
  44. }
  45. Battle.Update();
  46. }
  47. }
  48. }
  49. }