示例#1
0
        private void InitEffectsTreeView()
        {
            m_treeMenuItemsMap = new Dictionary <EffectType, TreeMenuItem>();
            m_effectDataMap    = new Dictionary <EffectType, EffectData>();

            TreeMenuItem playerParentItem  = new TreeMenuItem("Player");
            TreeMenuItem vehicleParentItem = new TreeMenuItem("Vehicle");
            TreeMenuItem pedsParentItem    = new TreeMenuItem("Peds");
            TreeMenuItem timeParentItem    = new TreeMenuItem("Time");
            TreeMenuItem weatherParentItem = new TreeMenuItem("Weather");
            TreeMenuItem miscParentItem    = new TreeMenuItem("Misc");
            TreeMenuItem metaParentItem    = new TreeMenuItem("Meta");

            SortedDictionary <string, Tuple <EffectType, EffectCategory> > sortedEffects = new SortedDictionary <string, Tuple <EffectType, EffectCategory> >();

            for (EffectType effectType = 0; effectType < EffectType._EFFECT_ENUM_MAX; effectType++)
            {
                EffectInfo effectInfo = EffectsMap[effectType];

                sortedEffects.Add(effectInfo.Name, new Tuple <EffectType, EffectCategory>(effectType, effectInfo.EffectCategory));
            }

            foreach (var effect in sortedEffects)
            {
                Tuple <EffectType, EffectCategory> effectTuple = effect.Value;

                TreeMenuItem menuItem = new TreeMenuItem(effect.Key);
                m_treeMenuItemsMap.Add(effectTuple.Item1, menuItem);

                switch (effectTuple.Item2)
                {
                case EffectCategory.PLAYER:
                    playerParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.VEHICLE:
                    vehicleParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.PEDS:
                    pedsParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.TIME:
                    timeParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.WEATHER:
                    weatherParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.MISC:
                    miscParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.META:
                    metaParentItem.AddChild(menuItem);
                    break;
                }
            }

            effects_user_effects_tree_view.Items.Clear();
            effects_user_effects_tree_view.Items.Add(playerParentItem);
            effects_user_effects_tree_view.Items.Add(vehicleParentItem);
            effects_user_effects_tree_view.Items.Add(pedsParentItem);
            effects_user_effects_tree_view.Items.Add(timeParentItem);
            effects_user_effects_tree_view.Items.Add(weatherParentItem);
            effects_user_effects_tree_view.Items.Add(miscParentItem);

            meta_effects_tree_view.Items.Clear();
            meta_effects_tree_view.Items.Add(metaParentItem);
        }
        private void InitEffectsTreeView()
        {
            m_treeMenuItemsMap = new Dictionary <string, TreeMenuItem>();
            m_effectDataMap    = new Dictionary <string, EffectData>();

            TreeMenuItem playerParentItem  = new TreeMenuItem("Player");
            TreeMenuItem vehicleParentItem = new TreeMenuItem("Vehicle");
            TreeMenuItem pedsParentItem    = new TreeMenuItem("Peds");
            TreeMenuItem screenParentItem  = new TreeMenuItem("Screen");
            TreeMenuItem timeParentItem    = new TreeMenuItem("Time");
            TreeMenuItem weatherParentItem = new TreeMenuItem("Weather");
            TreeMenuItem miscParentItem    = new TreeMenuItem("Misc");
            TreeMenuItem metaParentItem    = new TreeMenuItem("Meta");

            var sortedEffects = new SortedDictionary <string, Tuple <string, EffectCategory> >();

            foreach (var pair in EffectsMap)
            {
                sortedEffects.Add(pair.Value.Name, new Tuple <string, EffectCategory>(pair.Key, pair.Value.EffectCategory));
            }

            foreach (var effect in sortedEffects)
            {
                var effectTuple = effect.Value;

                TreeMenuItem menuItem = new TreeMenuItem(effect.Key);
                m_treeMenuItemsMap.Add(effectTuple.Item1, menuItem);

                switch (effectTuple.Item2)
                {
                case EffectCategory.Player:
                    playerParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Vehicle:
                    vehicleParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Peds:
                    pedsParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Screen:
                    screenParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Time:
                    timeParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Weather:
                    weatherParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Misc:
                    miscParentItem.AddChild(menuItem);
                    break;

                case EffectCategory.Meta:
                    metaParentItem.AddChild(menuItem);
                    break;
                }
            }

            effects_user_effects_tree_view.Items.Clear();
            effects_user_effects_tree_view.Items.Add(playerParentItem);
            effects_user_effects_tree_view.Items.Add(vehicleParentItem);
            effects_user_effects_tree_view.Items.Add(pedsParentItem);
            effects_user_effects_tree_view.Items.Add(screenParentItem);
            effects_user_effects_tree_view.Items.Add(timeParentItem);
            effects_user_effects_tree_view.Items.Add(weatherParentItem);
            effects_user_effects_tree_view.Items.Add(miscParentItem);

            meta_effects_tree_view.Items.Clear();
            meta_effects_tree_view.Items.Add(metaParentItem);
        }