Beispiel #1
0
        internal static ClientUISlotBarCategoryItemStatusModule RocketLauncherState(PlayerController controller, out bool loaded)
        {
            string selectedRLAmmo = "equipment_weapon_rocketlauncher_hst-2";
            int    count          = 0;

            loaded = true;


            ClientUITooltipsCommand tooltips = new ClientUITooltipsCommand(new List <ClientUITooltipModule> {
                new ClientUITooltipModule(
                    ClientUITooltipModule.STANDARD, "ttip_rocketlauncher",
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED),
                    new List <MessageWildcardReplacementModule> {
                    new MessageWildcardReplacementModule("%TYPE%", "equipment_weapon_rocketlauncher_hst",
                                                         new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED)
                                                         )
                }
                    ),

                new ClientUITooltipModule(
                    ClientUITooltipModule.STANDARD, "ttip_rocketlauncher_loadcount",
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED),
                    new List <MessageWildcardReplacementModule> {
                    new MessageWildcardReplacementModule("%COUNT%", count.ToString(),
                                                         new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.PLAIN)
                                                         ),
                    new MessageWildcardReplacementModule("%TYPE%", selectedRLAmmo,
                                                         new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_3135)
                                                         )
                }
                    ),
            });

            if (controller.Account.CurrentHangar.Selection.RocketLauncher != 0)
            {
                RocketLauncherAmmunition rocketLauncherAmmunition = controller.Account.CurrentHangar.Selection.RocketLauncher.FromRocketLauncherAmmunitions();

                selectedRLAmmo = rocketLauncherAmmunition.Name;
                count          = controller.Account.CurrentHangar.Selection.RocketLauncherLoadedCount;
                loaded         = true;
            }

            return(new ClientUISlotBarCategoryItemStatusModule(true, true, "equipment_weapon_rocketlauncher_hst",
                                                               tooltips,
                                                               tooltips,
                                                               false, controller.HangarAssembly.Ship.RocketLauncherSlots * 5,
                                                               count, ClientUISlotBarCategoryItemStatusModule.BLUE, selectedRLAmmo,
                                                               true, false, false
                                                               ));
        }
Beispiel #2
0
        public static ClientUISlotBarCategoryItemStatusModule CreateItemStatus(string pLootId, string pTooltipId, bool pCountable, long pCount, long pMaxCount, bool pAvailable, bool pSelected, short localisation)
        {
            // item bar tooltip
            List <ClientUITooltipModule> tooltipItemBars = new List <ClientUITooltipModule>();

            // --------------------------------------------------------
            // last argument List (vec<class_721>)
            List <MessageWildcardReplacementModule> vec_721_1 = new List <MessageWildcardReplacementModule>();

            if (localisation == ClientUITooltipTextFormatModule.LOCALIZED)
            {
                // fill last argument List (class_521 -> vec<721>)
                ClientUITooltipTextFormatModule x_521_1 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_3135);
                MessageWildcardReplacementModule x_721_1 = new MessageWildcardReplacementModule("%TYPE%", pLootId, x_521_1);
                vec_721_1.Add(x_721_1);

                // text format
                ClientUITooltipTextFormatModule class521_localized_1 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED);

                // create tooltip
                ClientUITooltipModule slotBarItemStatusTooltip_1 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pTooltipId, class521_localized_1, vec_721_1);

                // add tooltip to tooltip bar
                tooltipItemBars.Add(slotBarItemStatusTooltip_1);
            }
            else
            {
                ClientUITooltipModule slotBarItemStatusTooltip_1 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pTooltipId, new ClientUITooltipTextFormatModule(localisation), vec_721_1);
                tooltipItemBars.Add(slotBarItemStatusTooltip_1);
            }

            // --------------------------------------------------------

            if (pCountable)
            {
                // last argument List (vec<class_721>)
                List <MessageWildcardReplacementModule> vec_721_2 = new List <MessageWildcardReplacementModule>();

                // fill last argument List (class_521 -> vec<721>)
                ClientUITooltipTextFormatModule class521_plain =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.PLAIN);
                MessageWildcardReplacementModule x_721_2 =
                    new MessageWildcardReplacementModule("%COUNT%", pCount.ToString(), class521_plain);
                vec_721_2.Add(x_721_2);

                // TODO shall we use new one or reuse old one???
                // text format
                ClientUITooltipTextFormatModule class521_localized_2 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED);

                // create tooltip
                ClientUITooltipModule slotBarItemStatusTooltip_2 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, "ttip_count", class521_localized_2,
                                              vec_721_2);

                // add tooltip to tooltip bar
                tooltipItemBars.Add(slotBarItemStatusTooltip_2);
            }

            // --------------------------------------------------------


            // last argument List (vec<class_721>)
            List <MessageWildcardReplacementModule> vec_721_3 = new List <MessageWildcardReplacementModule>();

            // text format
            ClientUITooltipTextFormatModule x_521_3 =
                new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_296);

            ClientUITooltipModule slotBarItemStatusTooltip_3 =
                new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pLootId, x_521_3, vec_721_3);

            // add tooltip to tooltip bar
            tooltipItemBars.Add(slotBarItemStatusTooltip_3);

            // --------------------------------------------------------


            // last argument List (vec<class_721>)
            List <MessageWildcardReplacementModule> vec_721_4 = new List <MessageWildcardReplacementModule>();

            // text format
            ClientUITooltipTextFormatModule class521_localized_4 =
                new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED);

            /*
             * // create tooltip
             * ClientUITooltipModule slotBarItemStatusTooltip_4 =
             *      new ClientUITooltipModule(ClientUITooltipModule.STANDARD, "ttip_double_click_to_fire", class521_localized_4, vec_721_4);
             *
             * // add tooltip to tooltip bar
             * tooltipItemBars.Add(slotBarItemStatusTooltip_4);
             */

            // ========================================================
            // ========================================================

            //slot bar tooltip
            List <ClientUITooltipModule> tooltipSlotBars = new List <ClientUITooltipModule>();

            // last argument List (vec<class_721>)
            List <MessageWildcardReplacementModule> vec_721_5 = new List <MessageWildcardReplacementModule>();

            if (localisation == ClientUITooltipTextFormatModule.LOCALIZED)
            {
                // fill last argument List (class_521 -> vec<721>)
                ClientUITooltipTextFormatModule x_521_5 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_3135);
                MessageWildcardReplacementModule x_721_5 = new MessageWildcardReplacementModule("%TYPE%", pLootId, x_521_5);
                vec_721_5.Add(x_721_5);

                ClientUITooltipTextFormatModule class521_localized_5 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED);

                // create tooltip
                ClientUITooltipModule slotBarItemStatusTooltip_5 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pTooltipId, class521_localized_5, vec_721_5);

                // add tooltip to tooltip slot bar
                tooltipSlotBars.Add(slotBarItemStatusTooltip_5);
            }
            else
            {
                ClientUITooltipModule slotBarItemStatusTooltip_1 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pTooltipId, new ClientUITooltipTextFormatModule(localisation), vec_721_1);
                tooltipSlotBars.Add(slotBarItemStatusTooltip_1);
            }

            // --------------------------------------------------------

            if (pCountable)
            {
                // last argument List (vec<class_721>)
                List <MessageWildcardReplacementModule> vec_721_6 = new List <MessageWildcardReplacementModule>();

                // fill last argument List (class_521 -> vec<721>)
                ClientUITooltipTextFormatModule tf_plain_6 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.PLAIN);
                MessageWildcardReplacementModule x_721_6 =
                    new MessageWildcardReplacementModule("%COUNT%", pCount.ToString(), tf_plain_6);
                vec_721_6.Add(x_721_6);

                //text format
                ClientUITooltipTextFormatModule tf_localized_6 =
                    new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED);

                // create tooltip
                ClientUITooltipModule slotBarItemStatusTooltip_6 =
                    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, "ttip_count", tf_localized_6, vec_721_6);

                // add tooltip to tooltip slot bar
                tooltipSlotBars.Add(slotBarItemStatusTooltip_6);
            }

            // --------------------------------------------------------

            // last argument List (vec<class_721>)
            List <MessageWildcardReplacementModule> vec_721_7 = new List <MessageWildcardReplacementModule>();

            // text format
            ClientUITooltipTextFormatModule tf_234_7 =
                new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_296);

            // create tooltip
            ClientUITooltipModule slotBarItemStatusTooltip_7 =
                new ClientUITooltipModule(ClientUITooltipModule.STANDARD, pLootId, tf_234_7, vec_721_7);

            // add tooltip to tooltip slot bar
            tooltipSlotBars.Add(slotBarItemStatusTooltip_7);

            // ========================================================

            // create item bar & slot bar tooltip commands
            ClientUITooltipsCommand itemBarStatusTootip  = new ClientUITooltipsCommand(tooltipItemBars);
            ClientUITooltipsCommand slotBarStatusTooltip = new ClientUITooltipsCommand(tooltipSlotBars);

            short color = ClientUISlotBarCategoryItemStatusModule.BLUE;

            if (pCountable && pCount * 5 <= pMaxCount)
            {
                color = ClientUISlotBarCategoryItemStatusModule.RED;
            }

            bool activateAble = !pCountable || pCount > 0;

            return(new ClientUISlotBarCategoryItemStatusModule(true, pAvailable, pLootId,
                                                               itemBarStatusTootip, slotBarStatusTooltip, false, pMaxCount, pCount, color,
                                                               pLootId, activateAble, pSelected, false));


            /*  List<ClientUITooltipModule> tooltips = new List<ClientUITooltipModule> { // Wenns mal dazu kommen sollte, so gehört sich das
             * new ClientUITooltipModule(ClientUITooltipModule.STANDARD, ttip,
             *        new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED),
             *        new List<MessageWildcardReplacementModule> {
             *            new MessageWildcardReplacementModule("%TYPE%", itemId,
             *                new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_3135))
             *        }
             *    ),
             *
             *    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, "ttip_count",
             *        new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED),
             *        new List<MessageWildcardReplacementModule> {
             *            new MessageWildcardReplacementModule("%COUNT%", count.ToString(),
             *                new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.PLAIN)
             *            )
             *        }
             *    ),
             *
             *    new ClientUITooltipModule(ClientUITooltipModule.STANDARD, itemId,
             *        new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.const_296)
             *    )
             * };
             *
             * ClientUITooltipsCommand slotBarTooltips = new ClientUITooltipsCommand(tooltips);
             *
             * if (initiator.ClientConfiguration.UserSettings.gameplaySettingsModule.doubleclickAttack) {
             *  slotBarTooltips = new ClientUITooltipsCommand(tooltips.ToList());
             *  tooltips.Add(
             *      new ClientUITooltipModule(ClientUITooltipModule.STANDARD, "ttip_double_click_to_fire",
             *          new ClientUITooltipTextFormatModule(ClientUITooltipTextFormatModule.LOCALIZED)
             *      )
             *  );
             * }
             *
             * ClientUITooltipsCommand itemBarTooltips = new ClientUITooltipsCommand(tooltips);
             *
             * return new ClientUISlotBarCategoryItemStatusModule(true, count > 0, itemId,
             *      itemBarTooltips, slotBarTooltips, false, 1000, count,
             *      count > 200 ? ClientUISlotBarCategoryItemStatusModule.BLUE : ClientUISlotBarCategoryItemStatusModule.RED,
             *      itemId, count > 0, selected, false
             *  ); */
        }