コード例 #1
0
        public NetworkManager(IServer server, ISerializer serializer, IModelManager modelManager, WorldData worldData, int millisecondsTick)
        {
            _server     = server;
            _serializer = serializer;

            _worldReplication   = new WorldReplication(worldData, serializer.GetCaster());
            _modelManagerServer = new ModelManagerServer(_clientProxyDic, modelManager, worldData);
            _tickSystem         = new TickSystem {
                MillisecondsTick = millisecondsTick
            };
        }
コード例 #2
0
        public void ModelManagerTestReplication()
        {
            IWorldData  worldData   = new WorldData();
            ISerializer serializer  = new JsonNetSerializer();
            var         replication = new WorldReplication(worldData, new JsonCastObject());

            var replicationWrote = replication.WriteWhole();
            var serialized       = serializer.Serialize(replicationWrote);

            serializer.Deserialize(serialized, out object deserialized);
            replication.Read(deserialized);
        }
コード例 #3
0
    private void Awake()
    {
        ISerializer   serializer    = new JsonNetSerializer();
        UdpClientInfo udpClientInfo = new UdpClientInfo
        {
            ServerIp   = "127.0.0.1",
            ServerPort = 3000,
            ChannelId  = 0
        };
        WorldData           worldData          = new WorldData();
        IModelManagerClient modelManagerClient = new ModelManagerClient(worldData);
        IReplication        worldReplication   = new WorldReplication(worldData, serializer.GetCaster());

        _client         = new UdpClient(udpClientInfo);
        _networkManager = new NetworkManager(_client, serializer, modelManagerClient, worldReplication)
        {
            MillisecondsBetweenSendPacket = 1000
        };
        _presenterManager = new GamePresenter(_viewManager, modelManagerClient);

        _presenterManager.Activate();
    }