Exemplo n.º 1
0
 public bool Start(NewPlayerInfo playerInfo, int port)
 {
     listener             = new EventBasedNetListener();
     server               = new NetManager(listener);
     localPacketProcessor = new NetPacketProcessor();
     Console.WriteLine("started instances...");
     localPacketProcessor.SubscribeReusable <ZeroGPacket, NetPeer>(OnDataRecieve);
     if (!server.Start(port))
     {
         Console.WriteLine("Failed to start server");
         //return false;
         throw new Exception("Failed to start server...");
     }
     newPlayerData = playerInfo;
     listener.ConnectionRequestEvent += Listener_ConnectionRequestEvent;
     listener.NetworkReceiveEvent    += Listener_NetworkReceiveEvent;
     listener.PeerConnectedEvent     += Listener_PeerConnectedEvent;
     listener.PeerDisconnectedEvent  += Listener_PeerDisconnectedEvent;
     zeroPacketProcessor              = new ProcessPacket();
     InstanceKeeper.SetServerinstance(this);
     GetEvents();
     // while (/*!Console.KeyAvailable*/1-1==0)
     //{
     //    server.PollEvents();
     //    Thread.Sleep(15);
     // }
     // this.server.Stop();
     return(true);
 }
        public static void PopulateDefaults(NewPlayerInfo info)
        {
            SettingsStore.Set(Setting_Health, info.Health);
            SettingsStore.Set(Setting_MaxHealth, info.MaxHealth);
            SettingsStore.Set(Setting_Mana, info.Mana);
            SettingsStore.Set(Setting_MaxMana, info.MaxMana);

            if (info.Inventory != null)
            {
                foreach (var item in info.Inventory)
                {
                    var id = ItemTable.NewItem(CharacterManager.ItemType.Inventory, item.NetId, item.Stack, item.Prefix, item.Favorite, item.Slot);
                    AddItem(id);
                }
            }

            if (info.Armor != null)
            {
                foreach (var item in info.Armor)
                {
                    var id = ItemTable.NewItem(CharacterManager.ItemType.Armor, item.NetId, item.Stack, item.Prefix, item.Favorite, item.Slot);
                    AddItem(id);
                }
            }

            if (info.Dye != null)
            {
                foreach (var item in info.Dye)
                {
                    var id = ItemTable.NewItem(CharacterManager.ItemType.Dye, item.NetId, item.Stack, item.Prefix, item.Favorite, item.Slot);
                    AddItem(id);
                }
            }
        }
Exemplo n.º 3
0
        public void AddPlayer(NewPlayerInfo info)
        {
            var player = playerFactory.CreatePlayer(info);

            Players.Add(player);
            RaisePropertyChanged(nameof(Players));
        }
Exemplo n.º 4
0
 public void StartServer(int maxPlayers, string levelName, bool isReverse, int port)
 {
     server  = new Server();
     npi     = new NewPlayerInfo();
     players = new Players();
     InstanceKeeper.players = players;
     pManager = new PlayerManager(server, players, levelName, isReverse, maxPlayers);
     InstanceKeeper.playerManager = pManager;
     server.Start(npi, port);
 }
Exemplo n.º 5
0
        public PlayerModel CreatePlayer(NewPlayerInfo info)
        {
            var player = ServiceLocator.Current.GetInstance <PlayerModel>();

            player.FirstName = info.FirstName;
            player.LastName  = info.LastName;
            player.Id        = info.Id;

            return(player);
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("----ZeroG Server----");
            Console.WriteLine("Developed by DarkShadow");
            Console.WriteLine("Starting server...");
            Server        server  = new Server();
            NewPlayerInfo npi     = new NewPlayerInfo();
            Players       players = new Players();

            InstanceKeeper.players = players;
            PlayerManager pManager = new PlayerManager(server, players, "Urban_02", true, 2);

            InstanceKeeper.playerManager = pManager;
            server.Start(npi, 6001);
            Console.ReadLine();
            //Currently, all the server code is dumped in one place, ill fix it when i get time
        }
Exemplo n.º 7
0
        public void AddPlayerAction(object data)
        {
            var window = new AddPlayerWindow();

            window.ShowDialog();

            if (!window.IsCanceled)
            {
                var info = new NewPlayerInfo()
                {
                    FirstName = window.FirstName,
                    LastName  = window.LastName,
                    Id        = window.Id
                };

                _eventAggregator.GetEvent <PlayerAdded>().Publish(info);
            }
        }