private void RenderFurnitureButtons() { furnitureItems = new List <GameObject>(); UnityEngine.Object buttonPrefab = Resources.Load("UI/MenuLeft/ConstructionMenu/Button"); Transform contentTransform = this.transform.Find("Scroll View").Find("Viewport").Find("Content"); BuildModeController buildModeController = WorldController.Instance.BuildModeController; // For each furniture prototype in our world, create one instance // of the button to be clicked! foreach (string furnitureKey in PrototypeManager.Furniture.Keys) { if (PrototypeManager.Furniture.Get(furnitureKey).HasTypeTag("Non-buildable") && showAllFurniture == false) { continue; } GameObject gameObject = (GameObject)Instantiate(buttonPrefab); gameObject.transform.SetParent(contentTransform); furnitureItems.Add(gameObject); Furniture proto = PrototypeManager.Furniture.Get(furnitureKey); string objectId = furnitureKey; gameObject.name = "Button - Build " + objectId; gameObject.transform.GetComponentInChildren <TextLocalizer>().formatValues = new string[] { LocalizationTable.GetLocalization(proto.LocalizationName) }; Button button = gameObject.GetComponent <Button>(); button.onClick.AddListener(delegate { buildModeController.SetMode_BuildFurniture(objectId); menuLeft.CloseCurrentMenu(); }); // http://stackoverflow.com/questions/1757112/anonymous-c-sharp-delegate-within-a-loop string furniture = furnitureKey; LocalizationTable.CBLocalizationFilesChanged += delegate { gameObject.transform.GetComponentInChildren <TextLocalizer>().formatValues = new string[] { LocalizationTable.GetLocalization(PrototypeManager.Furniture.Get(furniture).LocalizationName) }; }; Image image = gameObject.transform.GetChild(0).GetComponentsInChildren <Image>().First(); image.sprite = WorldController.Instance.FurnitureSpriteController.GetSpriteForFurniture(furnitureKey); } }
protected override void Start() { base.Start(); Text title = GetComponentInChildren <Text>(); title.text = LocalizationTable.GetLocalization("menu_construction"); menuLeft = this.transform.GetComponentInParent <MenuLeft>(); this.transform.Find("Close Button").GetComponent <Button>().onClick.AddListener(delegate { menuLeft.CloseCurrentMenu(); }); RenderRoomBehaviorButtons(); RenderTileButtons(); RenderFurnitureButtons(); RenderUtilityButtons(); InputField filterField = GetComponentInChildren <InputField>(); filterField.onValueChanged.AddListener(delegate { FilterTextChanged(filterField.text); }); KeyboardManager.Instance.RegisterModalInputField(filterField); }
private void Start() { Text title = GetComponentInChildren <Text>(); title.text = LocalizationTable.GetLocalization("menu_orders"); menuLeft = this.transform.GetComponentInParent <MenuLeft>(); this.transform.Find("Close Button").GetComponent <Button>().onClick.AddListener(delegate { menuLeft.CloseCurrentMenu(); }); RenderDeconstructButton(); RenderMineButton(); InputField filterField = GetComponentInChildren <InputField>(); filterField.onValueChanged.AddListener(delegate { FilterTextChanged(filterField.text); }); KeyboardManager.Instance.RegisterModalInputField(filterField); }
// Deactivates All Menus. public void DeactivateAll() { menuLeft.CloseCurrentMenu(); WorldController.Instance.MouseController.ClearMouseMode(true); }