public Processer(MainForm form) { _Queue = new ConcurrentQueue<MessageInfo>(); _processSignals = new ProcessRequestSignal(); _processProject = new ProcessProject(form); _form = form; }
public static bool registerProcessor(JPacketType packetType, IProcesser processor, bool isServerProcessor = false) { if (IsServer && !isServerProcessor || !IsServer && isServerProcessor) { return(true); } bool bSuccess = false; try { _readerWriteLocker.EnterWriteLock(); if (!JLogicRegisteredProcessors.processors.PacketTypeToProcessor.ContainsKey(packetType)) { JLogicRegisteredProcessors.processors.PacketTypeToProcessor.Add(packetType, processor); bSuccess = true; } } catch (Exception e) { JLog.Error("JLogicHelper.RegisterProcessor error message:" + e.Message); } finally { _readerWriteLocker.ExitWriteLock(); } return(bSuccess); }
public static IProcesser getProcessor(JPacketType packetType) { IProcesser processor = null; try { _readerWriteLocker.EnterReadLock(); if (JLogicRegisteredProcessors.processors.PacketTypeToProcessor.ContainsKey(packetType)) { processor = (IProcesser)JLogicRegisteredProcessors.processors.PacketTypeToProcessor[packetType]; } } catch (Exception e) { JLog.Error("JLogicHelper.RegisterProcessor error message:" + e.Message); } finally { _readerWriteLocker.ExitReadLock(); } if (null == processor) { JLog.Error("JLogicHelper.RegisterProcessor: Unregistered packet type:" + packetType.GetDescription()); } return(processor); }
public ProcesserWrapper(IProcesser p, IEnumerator <IAOPFilter> filters) { Contract.Requires(null != p, "invocation"); Contract.Requires(null != filters, "interceptors"); _processer = p; _filters = filters; }
public void Execute(IProcesser processer) { using (var enumerator = _filters.GetEnumerator()) { var wrapper = new ProcesserWrapper(processer, enumerator); wrapper.Process(); } }
public static void ProcessLocalData(JPacketType data) { IProcesser processor = JLogicHelper.getProcessor(data); if (null == processor) { return; } processor.run(JLogicUserData.Data); }
public override void Execute(IProcesser processer) { try { base.Execute(processer); } catch (Exception ex) { Console.WriteLine(ex); processer.AttachReturnMessage( new ReturnMessage( (object)0, processer.MethodCallMessage.Args, processer.MethodCallMessage.ArgCount, processer.MethodCallMessage.LogicalCallContext, processer.MethodCallMessage) ); } }
public static void ProcessNetworkData(JNetworkData data) { JPacketType packetType = JNetworkHelper.GetNetworkPacketType(data); if (!JNetworkHelper.IsValidPacketType(packetType)) { return; } IProcesser processor = JLogicHelper.getProcessor(packetType); if (null == processor) { return; } processor.run(JLogicUserData.Data); }
/// <summary> /// 在此集中给工厂添加处理器 /// </summary> /// <param name="factory"></param> private static void initProcesser() { Assembly assembly = Assembly.GetAssembly(typeof(ProcesserFactory)); //得到Assembly中的所有类型 Type[] types = assembly.GetTypes(); //遍历所有的类型,找到插件类型,并创建插件实例并加载 foreach (Type type in types) { //判断类型是否派生自IPlugin接口 if (type.GetInterface("IProcesser") != null) { //创建插件实例 IProcesser processer = (IProcesser)Activator.CreateInstance(type); foreach (EMark m in processer.ProcessMarks) { _procs.Add(m, processer); } } } }
public EnemyActionProcesser(Enemy enemy, EnemyActionData data) { _Enemy = enemy; _Data = data; if (data.AttackData.Count() == 0) { _AttackProcesser = new NullAttackProcesser(); } else { _AttackProcesser = new EnemyAttackProcesser(data.AttackData, enemy); } _MoveProcesser = new EnemyMoveProcesser(enemy, data.MoveData); _CompleteObserver = new Subject <Unit> (); _AttackProcesser.CompleteAsObservable() .Zip(_MoveProcesser.CompleteAsObservable(), (l, r) => r) .First() .Subscribe(_ => _CompleteObserver.OnNext(Unit.Default)); _CompleteObserver.Subscribe(_ => _Process = _FirstProcess); _Process = _FirstProcess; }
public virtual void Execute(IProcesser processer) { processer.Process(); }
public Proxy1(IProcesser interapter) : base(interapter) { }
public Proxy(IProcesser interapter) { this._interapter = interapter; }
protected override void Executed(IProcesser processer) { Setting.List.Add("Executed-" + _key); }
public override void Execute(IProcesser processer) { Executing(processer); processer.Process(); Executed(processer); }
/// <summary> /// 后置事件 /// </summary> /// <param name="processer"></param> protected virtual void Executed(IProcesser processer) { }