private static void SetupButtons(SG_Shop_Screen shop_screen) { try { Control.LogDebug(DInfo.ShopInterface, "- First Time enter. Start to setup"); ShopScreen = shop_screen; ShopHelper = new ShopScreenHelper(ShopScreen); Buttons = new Dictionary <string, StoreButton>(); var store_button = ShopHelper.SystemStoreButtonHoldingObject; var radio_set = ShopHelper.SystemStoreButtonHoldingObject.transform.parent.GetComponent <HBSRadioSet>(); Control.LogDebug(DInfo.ShopInterface, "-- Create buttons"); foreach (var shop in Control.Shops.OrderBy(i => i.SortOrder)) { Control.LogDebug(DInfo.ShopInterface, $"--- {shop.Name}"); var button = new StoreButton(store_button, shop); Buttons.Add(shop.Name, button); } Control.LogDebug(DInfo.ShopInterface, "-- Hide original buttons"); ShopHelper.SystemStoreButtonHoldingObject.SetActive(false); ShopHelper.FactionStoreButtonHoldingObject.SetActive(false); ShopHelper.BlackMarketStoreButtonHoldingObject.SetActive(false); Control.LogDebug(DInfo.ShopInterface, "-- Setup radio set"); radio_set.ClearRadioButtons(); foreach (var pair in Buttons) { radio_set.AddButtonToRadioSet(pair.Value.Button); } radio_set.defaultButton = Buttons.Values.First().Button; Control.LogDebug(DInfo.ShopInterface, "-- Replace Buy/Sell buttons"); ShopHelper.BuyTabButton.OnClicked.RemoveAllListeners(); ShopHelper.SellTabButton.OnClicked.RemoveAllListeners(); ShopHelper.BuyButton.OnClicked.RemoveAllListeners(); ShopHelper.BuyTabButton.OnClicked.AddListener(OnBuyTabPress); ShopHelper.SellTabButton.OnClicked.AddListener(OnSellTabPress); ShopHelper.BuyButton.OnClicked.AddListener(OnBuySellPress); } catch (Exception e) { Control.LogError(e); } Control.LogDebug(DInfo.ShopInterface, "-- done!"); }
public void FillFactionWidget(ShopScreenHelper helper) { try { var mhelper = helper.MiniWidgetHelper; Control.State.Sim.RequestItem <Sprite>(SpriteID, (sprite) => mhelper.FactionIcon.sprite = sprite, BattleTechResourceType.Sprite); mhelper.HideRatingIcons(); mhelper.ReputationBonusText.SetText("Buy items back"); } catch (Exception e) { Control.LogError(e); } }