Exemplo n.º 1
0
        /// <summary>
        /// Constructs a Habbo Hotel environment and tries to initialize it.
        /// </summary>
        public HabboHotel()
        {
            // Try to parse version
            AleedaEnvironment.Configuration.TryParseUInt32("projects.habbo.client.version", out mVersion);

            // Initialize HabboHotel project modules
            mExternalTexts      = new KeyValueDictionary("external_texts", "xkey", "xvalue");
            mExternalVariables  = new KeyValueDictionary("external_variables", "xkey", "xvalue");
            mClientManager      = new GameClientManager();
            mHabboManager       = new HabboManager();
            mAuthenticator      = new HabboAuthenticator();
            mAchievementManager = new AchievementManager();
            mMessengerManager   = new MessengerManager();
            mCatalog            = new Catalog.Catalog();
            mRoomUser           = new RoomUser();

            // Start connection checker for clients
            mClientManager.StartConnectionChecker();

            // Load external texts and external variables
            mExternalTexts.Reload();
            mExternalVariables.Reload();


            // Print that we are done!
            Console.WriteLine(string.Format(" [**] --> Initialized project 'Habbo Hotel' for version R{0}.", mVersion));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Constructs a Habbo Hotel environment and tries to initialize it.
        /// </summary>
        public HabboHotel()
        {
            // Try to parse version
            IonEnvironment.Configuration.TryParseUInt32("projects.habbo.client.version", out mVersion);

            // Initialize HabboHotel project modules
            mExternalTexts = new KeyValueDictionary("external_texts", "xkey", "xvalue");
            mExternalVariables = new KeyValueDictionary("external_variables", "xkey", "xvalue");
            mClientManager = new GameClientManager();
            mHabboManager = new HabboManager();
            mAuthenticator = new HabboAuthenticator();
            mUserRightManager = new UserRightManager(20);
            mAchievementManager = new AchievementManager();
            mMessengerManager = new MessengerManager();
            mCatalog = new Catalog.Catalog();

            // Start connection checker for clients
            mClientManager.StartConnectionChecker();

            // Load external texts and external variables
            mExternalTexts.Reload();
            mExternalVariables.Reload();

            // Load user rights
            mUserRightManager.ReloadRights();

            // Load catalog
            mCatalog.ReloadPages();

            // Print that we are done!
            IonEnvironment.GetLog().WriteLine(string.Format("Initialized project 'Habbo Hotel' for version {0}.", mVersion));
        }
Exemplo n.º 3
0
        public void Load()
        {
            var path = this.CreatePath();

            if (!File.Exists(path))
            {
                this.dictionary.Clear();
                return;
            }

            // FIXME: 難読化する
            var text = File.ReadAllText(path);

            this.dictionary = this.Serializer.Deserialize <KeyValueDictionary>(text);
            this.dictionary.DeserializeSync();
        }
Exemplo n.º 4
0
        public void Can_Include_Dictionary_Key_And_Value_Properties()
        {
            using (var store = GetDocumentStore())
            {
                const string userId1 = "users/1";
                const string userId2 = "users/2";
                string       testId;

                using (var session = store.OpenSession())
                {
                    var user1 = new User {
                        Name = "name1", Age = 1
                    };
                    session.Store(user1, userId1);

                    var user2 = new User {
                        Name = "name2", Age = 1
                    };
                    session.Store(user2, userId2);

                    var test = new KeyValueDictionary
                    {
                        DictionaryByUserId = new Dictionary <string, string>
                        {
                            { userId1, userId1 },
                            { userId2, userId2 }
                        }
                    };

                    session.Store(test);
                    testId = test.Id;

                    session.SaveChanges();
                }

                using (var session = store.OpenSession())
                {
                    var test = session
                               .Include <KeyValueDictionary, User>(x => x.DictionaryByUserId.Select(k => k.Key))
                               .Load <KeyValueDictionary>(testId);

                    Assert.NotNull(test);

                    Assert.Equal(1, session.Advanced.NumberOfRequests);

                    session.Load <User>(userId1);
                    session.Load <User>(userId2);

                    Assert.Equal(1, session.Advanced.NumberOfRequests);
                }

                using (var session = store.OpenSession())
                {
                    var test = session
                               .Include <KeyValueDictionary, User>(x => x.DictionaryByUserId.Select(k => k.Value))
                               .Load <KeyValueDictionary>(testId);

                    Assert.NotNull(test);

                    Assert.Equal(1, session.Advanced.NumberOfRequests);

                    session.Load <User>(userId1);
                    session.Load <User>(userId2);

                    Assert.Equal(1, session.Advanced.NumberOfRequests);
                }
            }
        }
Exemplo n.º 5
0
            public async Task <IEnumerable <ResUdv> > SetUdvBatch(UdfTargetType udfTargetType, string targetId, KeyValueDictionary udvList, CancellationToken cancellationToken = default)
            {
                var _udvList = new List <UserDefinedDataInput>();

                udvList.ToList().ForEach(udv => _udvList.Add(new UserDefinedDataInput(udv.Key)
                {
                    Value = udv.Value
                }));
                var param = new SetUdvBatchParam(udfTargetType, targetId)
                {
                    UdvList = _udvList
                };
                var res = await client.Request <SetUdvBatchResponse>(param.CreateRequest(), cancellationToken);

                return(AuthingUtils.ConvertUdv(res.Result));
            }
Exemplo n.º 6
0
            public async Task <IEnumerable <UserDefinedData> > SetUdfValue(string userId, KeyValueDictionary data, CancellationToken cancellation = default)
            {
                if (data.Count() < 1)
                {
                    throw new Exception("empty udf value list");
                }
                var param = new SetUdvBatchParam(UdfTargetType.USER, userId)
                {
                    UdvList = data.ToList().Select(item => new UserDefinedDataInput(item.Key)
                    {
                        Value = item.Value.ConvertJson()
                    }),
                };
                var res = await client.Request <SetUdvBatchResponse>(param.CreateRequest(), cancellation);

                return(res.Result);
            }