FormTestClient.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using CommonAI.ZoneClient;
  2. using CommonAI.ZoneServer;
  3. using CommonAIServer.Connector;
  4. using CommonAIServer.Node;
  5. using GameEditorPlugin.Win32.BattleClient;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. namespace GameEditorPluginServer.Client
  12. {
  13. public class FormTestClient : FormClient
  14. {
  15. // -----------------------------------------------------------------------------------------------------------------
  16. private Pen pen = new Pen(Color.FromArgb(128, 255, 255, 255));
  17. public void Init(ZoneNodeConfig cfg, string playerUUID, string roomID, string connectString, string netDriver, CreateUnitInfoR2B enter)
  18. {
  19. base.Init("", playerUUID, roomID,
  20. netDriver,
  21. connectString,
  22. cfg.GAME_UPDATE_INTERVAL_MS, // update interval
  23. cfg.CLIENT_SYNC_OBJECT_IN_RANGE, // sync range
  24. enter);
  25. }
  26. protected override void DisplayActor_OnRender(Graphics g, DisplayGameUnit unit)
  27. {
  28. var actor = unit.Data as ZoneActor;
  29. pen.Width = 1f / BattlePanel.DisplayWorld.getCameraScale();
  30. float r_in = actor.LoginData.ClientSyncObjectRange;
  31. float r_out = actor.LoginData.ClientSyncObjectOutRange;
  32. g.DrawArc(pen, -r_in, -r_in, r_in * 2, r_in * 2, 0, 360);
  33. g.DrawArc(pen, -r_out, -r_out, r_out * 2, r_out * 2, 0, 360);
  34. }
  35. public static FormLauncher StartLauncher(ZoneNodeConfig cfg, string playerUUID, string connectString, int sceneID, CreateUnitInfoR2B enter, TestClientLoader loader, FormLauncher.OnLaunchOverHandler handler)
  36. {
  37. FormLauncher ret = new FormLauncher("",
  38. playerUUID,
  39. sceneID.ToString(),
  40. typeof(CommonNetwork.Sockets.NetSession).FullName,
  41. connectString,
  42. cfg.GAME_UPDATE_INTERVAL_MS,
  43. cfg.CLIENT_SYNC_OBJECT_IN_RANGE,
  44. enter.UnitTemplateID,
  45. enter.Force,
  46. sceneID,
  47. loader);
  48. ret.OnLaunchOver += handler;
  49. return ret;
  50. }
  51. private void InitializeComponent()
  52. {
  53. this.SuspendLayout();
  54. //
  55. // BattlePanel
  56. //
  57. this.BattlePanel.Size = new System.Drawing.Size(840, 662);
  58. //
  59. // FormTestClient
  60. //
  61. this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
  62. this.ClientSize = new System.Drawing.Size(840, 662);
  63. this.Name = "FormTestClient";
  64. this.ResumeLayout(false);
  65. }
  66. }
  67. }