123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- using CommonAI.Zone;
- using CommonAI.Zone.ZoneEditor;
- using CommonAI.ZoneServer;
- using CommonAIClient.Client;
- using CommonLang.IO;
- using CommonLang.Protocol;
- using RoomService.Net.BsClient;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace CommonAIServer.Connector.Client
- {
- public class NetTestClient : IDisposable
- {
- public BattleClient Client { get { return mClient; } }
- public EditorTemplates DataRoot { get { return mDataRoot; } }
- private readonly BattleClient mClient;
- private readonly EditorTemplates mDataRoot;
- public NetTestClient(
- string playerUUID,
- string roomID,
- string netDirver,
- string connectString,
- int intervalMS,
- int syncRange,
- CreateUnitInfoR2B unit,
- EditorTemplates data_root)
- : this(playerUUID, roomID, netDirver, connectString, intervalMS, syncRange, unit, false, null, data_root)
- { }
- public NetTestClient(
- string playerUUID,
- string roomID,
- string netDirver,
- string connectString,
- int intervalMS,
- int syncRange,
- CreateUnitInfoR2B unit,
- bool isProxy,
- string proxyConnectString,
- EditorTemplates data_root)
- {
- Console.WriteLine(" PlayerUUID = " + playerUUID);
- Console.WriteLine(" RoomID = " + roomID);
- Console.WriteLine(" NetDirver = " + netDirver);
- Console.WriteLine(" ConnectString = " + connectString);
- Console.WriteLine(" IntervalMS = " + intervalMS);
- Console.WriteLine(" SyncRange = " + syncRange);
- Console.WriteLine(" UnitTemplateID = " + unit.UnitTemplateID);
- Console.WriteLine(" Force = " + unit.Force);
- Console.WriteLine(" IsProxy = " + isProxy);
- //UnitInfo temp = TemplateManager.Instance.getUnit(unit.UnitTemplateID);
- MessageFactoryGenerator factory = TemplateManager.MessageCodec;
- this.mDataRoot = data_root;
- if (unit.UnitPropData == null)
- {
- UnitInfo temp = mDataRoot.Templates.getUnit(unit.UnitTemplateID);
- unit.UnitPropData = IOUtil.Clone(factory, temp.Properties);
- }
- PlayerWillConnectResponseB2R room = new PlayerWillConnectResponseB2R();
- room.PlayerUUID = playerUUID;
- room.Room = new RoomInfo();
- room.Room.ClientConnectString = connectString;
- room.Room.NetDriverString = netDirver;
- room.Room.Dummy = 0;
- room.Room.RoomID = roomID;
- PlayerWillConnectRequestR2B enter = new PlayerWillConnectRequestR2B();
- {
- enter.PlayerUUID = playerUUID;
- enter.PlayerDisplayName = playerUUID;
- enter.Token = playerUUID;
- enter.TokenValidTimeSec = int.MaxValue;
- enter.RoomID = roomID;
- enter.Data = unit; //IOUtil.ObjectToBin(factory, unit);
- }
- if (isProxy)
- {
- this.mClient = new BattleClientProxy(
- new TestProxySession(),
- proxyConnectString,
- mDataRoot, factory, room, enter, playerUUID);
- }
- else
- {
- this.mClient = new BattleClientDirect(
- mDataRoot, factory, room, enter, playerUUID);
- }
- }
- public void Start()
- {
- this.mClient.Start();
- }
- public void Stop()
- {
- this.mClient.Stop();
- }
- public void Dispose()
- {
- this.mClient.Dispose();
- }
- public void Update(int intervalMS)
- {
- this.mClient.BeginUpdate(intervalMS);
- this.mClient.Update();
- }
- //--------------------------------------------------------------------------------------------
- class TestProxySession : BattleClientProxy.ProxyNetSession
- {
- public override bool IsMessageTypeGS(object msg)
- {
- return false;
- }
- }
- }
- }
|