Exemplo n.º 1
0
        /// <summary>
        /// Gets player object
        /// </summary>
        public PlayerObject GetPlayerObject()
        {
            RequestPlayerObject();
            PlayerObjectEvent playerObjectEvent = base.WaitForServerEvent <PlayerObjectEvent>(Timeout);

            if (playerObjectEvent == null)
            {
                return(null);
            }

            return(playerObjectEvent.PlayerObject);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Processes the player object message
        /// </summary>
        /// <param name="connectionBase">The Fluid connection base</param>
        /// <param name="message">The message</param>
        /// <param name="handled">Whether the message was already handled</param>
        public void Process(ConnectionBase connectionBase, Message message, bool handled)
        {
            PlayerObject pom = new PlayerObject();

            pom.Username         = message.GetString(0);
            pom.Smiley           = (FaceID)message.GetInt(1);
            pom.ChatBanned       = message.GetBoolean(2);
            pom.CanChat          = message.GetBoolean(3);
            pom.HasSmileyPackage = message.GetBoolean(4);
            pom.IsModerator      = message.GetBoolean(5);
            pom.IsGuardian       = message.GetBoolean(6);
            pom.IsInBuildersClub = message.GetBoolean(7);
            pom.BuildersClubMembershipTimeRemaining = message.GetDouble(8);
            pom.BuildersClubMembershipTime          = message.GetDouble(9);
            pom.BuildersClubMembershipID            = message.GetString(10);
            pom.BuildersClubWelcome = message.GetBoolean(11);

            string room0 = message.GetString(12);

            pom.Room0 = room0 == string.Empty ? null : new WorldReference(connectionBase.Client, room0);

            string betaOnlyWorld = message.GetString(13);

            pom.BetaOnlyWorld = betaOnlyWorld == string.Empty ? null : new WorldReference(connectionBase.Client, betaOnlyWorld);

            pom.HomeWorld = new WorldReference(connectionBase.Client, message.GetString(14));

            string[] worldList = message.GetString(16).Split(',');
            pom.OwnedWorlds = new WorldReference[worldList.Length];
            for (int i = 0; i < worldList.Length; i++)
            {
                pom.OwnedWorlds[i] = new WorldReference(connectionBase.Client, worldList[i]);
            }

            pom.ProfileVisible   = message.GetBoolean(18);
            pom.Banned           = message.GetBoolean(19);
            pom.HasAcceptedTerms = Convert.ToBoolean(message.GetInt(20));
            pom.WootUp           = message.GetInt(21);
            pom.MaxEnergy        = message.GetInt(22);

            PlayerObjectEvent playerObjectEvent = new PlayerObjectEvent()
            {
                PlayerObject = pom,
                Raw          = message
            };

            connectionBase.RaiseServerEvent <PlayerObjectEvent>(playerObjectEvent);
        }