AMEvent.cs 574 B

123456789101112131415161718192021222324
  1. namespace Base
  2. {
  3. public abstract class AMEvent<T>: IMRegister
  4. {
  5. protected abstract void Run(Entity scene, T message);
  6. public void Register(IMessageDispather component)
  7. {
  8. ushort opcode = component.GetOpcode(typeof (T));
  9. component.RegisterHandler<T>(opcode, Run);
  10. }
  11. }
  12. public abstract class AMRpcEvent<T> : IMRegister
  13. {
  14. protected abstract void Run(Entity scene, T message, uint rpcId);
  15. public void Register(IMessageDispather component)
  16. {
  17. ushort opcode = component.GetOpcode(typeof(T));
  18. component.RegisterRpcHandler<T>(opcode, Run);
  19. }
  20. }
  21. }