namespace KYFramework.Network
{
    [ObjectSystem]
    public class ClientComponentAwakeSystem : AwakeSystem<ClientComponent>
    {
        public override void Awake(ClientComponent self)
        {
            self.Awake(self.Protocol);
            self.MessagePacker = new ProtobufPacker();
            self.MessageDispatcher = new OuterMessageDispatcher();
        }
    }

    [ObjectSystem]
    public class ClientComponentAwake1System : AwakeSystem<ClientComponent, string>
    {
        public override void Awake(ClientComponent self, string address)
        {
            self.Awake(self.Protocol, address);
            self.MessagePacker = new ProtobufPacker();
            self.MessageDispatcher = new OuterMessageDispatcher();
        }
    }

    [ObjectSystem]
    public class lientComponentLoadSystem : LoadSystem<ClientComponent>
    {
        public override void Load(ClientComponent self)
        {
            self.MessagePacker = new ProtobufPacker();
            self.MessageDispatcher = new OuterMessageDispatcher();
        }
    }

    [ObjectSystem]
    public class ClientrComponentUpdateSystem : UpdateSystem<ClientComponent>
    {
        public override void Update(ClientComponent self)
        {
            self.Update();
        }
    }
}