Exemple #1
0
        public ServerPlayer(ServerPlayerManager playerManager, ServerLogic serverLogic, ServerRegionManager regionManager, ServerNpcManager npcManager, ServerGroundItemManager groundItemManager,
                            string name, string password, NetPeer peer) : base(playerManager, name, (byte)peer.Id)
        {
            _serverLogic = serverLogic;
            playerSkills = new ServerPlayerSkills(this);
            database     = new ServerPlayerDatabase(this, serverLogic.Database);

            ServerInventoryManager inventoryManager = new ServerInventoryManager();

            inventory = new ServerPlayerInventory(this, inventoryManager);
            equipment = new ServerPlayerEquipment(this, inventoryManager);

            combat = new ServerPlayerCombat(_serverLogic, this, playerSkills, equipment);

            _regionManager = regionManager;

            entityRenderer         = new ServerPlayerEntityRenderer(this, npcManager);
            this.groundItemManager = groundItemManager;

            CurrentDialogue = new PlayerDialogue()
            {
                nextStageId = -1
            };

            SubscribePacketListener();

            this.password  = password;
            peer.Tag       = this;
            AssociatedPeer = peer;
            NetworkState   = new PlayerState {
                Id = (byte)peer.Id
            };
        }
Exemple #2
0
 public ServerPlayer(ServerPlayerManager playerManager, string name, NetPeer peer) : base(playerManager, name, (byte)peer.Id)
 {
     _playerManager = playerManager;
     peer.Tag       = this;
     AssociatedPeer = peer;
     NetworkState   = new PlayerState {
         Id = (byte)peer.Id
     };
 }
Exemple #3
0
        private void Awake()
        {
            DontDestroyOnLoad(gameObject);
            _logicTimer      = new LogicTimer(OnLogicUpdate);
            _packetProcessor = new NetPacketProcessor();
            _playerManager   = new ServerPlayerManager(this);

            //register auto serializable vector2
            _packetProcessor.RegisterNestedType((w, v) => w.Put(v), r => r.GetVector2());

            //register auto serializable PlayerState
            _packetProcessor.RegisterNestedType <PlayerState>();

            _packetProcessor.SubscribeReusable <JoinPacket, NetPeer>(OnJoinReceived);
            _netManager = new NetManager(this)
            {
                AutoRecycle = true
            };
        }