12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using CommonNetwork.Sockets;
- using CommonLang.Protocol;
- using RoomService.Net.BsServer;
- using CommonLang.Log;
- using RoomService.Net.BsClient;
- using CommonAI.ZoneClient;
- using CommonAI.Zone;
- using CommonLang.IO;
- using CommonAI.Zone.ZoneEditor;
- using CommonAI.ZoneServer;
- using CommonAI.Zone.Instance;
- using CommonLang.Concurrent;
- using CommonAI.Zone.Replay;
- namespace CommonAIClient.Client
- {
- public abstract class BattleLocal : AbstractBattle, InstanceZoneListener
- {
- private int mRecvPack = 0;
- private int mSendPack = 0;
- private BattleRecorder mRecorder;
- private InstanceUnit mSender;
- public override int CurrentPing { get { return 0; } }
- public override long RecvPackages { get { return mRecvPack; } }
- public override long SendPackages { get { return mSendPack; } }
- public override bool IsNet { get { return false; } }
- public override RoomService.Net.BsServer.KickedByServerNotifyB2C KickMessage { get { return null; } }
- public abstract EditorScene Zone { get; }
- public SceneData SceneData { get { return Zone.Data; } }
- public BattleLocal(EditorTemplates datas)
- : base(datas)
- {
- this.Layer.ActorSyncMode = SyncMode.ForceByServer;
- }
- protected override void Disposing()
- {
- base.Disposing();
- mSender = null;
- mRecorder = null;
- }
- public override void SendAction(CommonAI.Zone.Action action)
- {
- if (mSender == null && Layer.Actor!=null)
- {
- mSender = Zone.getUnit(Layer.Actor.ObjectID);
- }
- action.sender = mSender;
- Zone.pushAction(action);
- mSendPack++;
- }
- public void onEventHandler(Event e)
- {
- mRecvPack++;
- if (mRecorder != null)
- {
- mRecorder.Record(e, Zone.PassTimeMS);
- }
- Layer.ProcessMessage(e as IMessage);
- }
- public void onResponseHandler(InstanceZoneObject obj, ActorRequest req, ActorResponse rsp)
- {
- mRecvPack++;
- if (mRecorder != null)
- {
- mRecorder.Record(rsp, Zone.PassTimeMS);
- }
- Layer.ProcessMessage(rsp as IMessage);
- }
- /// <summary>
- /// 设置战报录像记录器
- /// </summary>
- /// <param name="recorder"></param>
- public void SetRecoder(BattleRecorder recorder)
- {
- this.mRecorder = recorder;
- }
- public bool CheckDropItem()
- {
- return false;
- }
- }
- }
|