public void Setup(Schedule schedule, Dictionary <string, ColorStyleSetting> paintStyles, Action <ScheduleScreenEntry, float> onPaintDragged) { this.schedule = schedule; base.gameObject.name = "Schedule_" + schedule.name; title.SetTitle(schedule.name); title.OnNameChanged += OnNameChanged; blockButtonContainer.Setup(delegate(float f) { onPaintDragged(this, f); }); int num = 0; blockButtons = new List <ScheduleBlockButton>(); List <ScheduleBlock> blocks = schedule.GetBlocks(); int count = blocks.Count; foreach (ScheduleBlock block in schedule.GetBlocks()) { ScheduleBlockButton scheduleBlockButton = Util.KInstantiateUI <ScheduleBlockButton>(blockButtonPrefab.gameObject, blockButtonContainer.gameObject, true); scheduleBlockButton.Setup(num++, paintStyles, count); scheduleBlockButton.SetBlockTypes(block.allowed_types); blockButtons.Add(scheduleBlockButton); } minionWidgets = new List <ScheduleMinionWidget>(); blankMinionWidget = Util.KInstantiateUI <ScheduleMinionWidget>(minionWidgetPrefab.gameObject, minionWidgetContainer, false); blankMinionWidget.SetupBlank(schedule); RebuildMinionWidgets(); RefreshNotes(); RefreshAlarmButton(); optionsButton.onClick += OnOptionsClicked; HierarchyReferences component = optionsPanel.GetComponent <HierarchyReferences>(); MultiToggle reference = component.GetReference <MultiToggle>("AlarmButton"); reference.onClick = (System.Action)Delegate.Combine(reference.onClick, new System.Action(OnAlarmClicked)); component.GetReference <KButton>("ResetButton").onClick += OnResetClicked; component.GetReference <KButton>("DeleteButton").onClick += OnDeleteClicked; schedule.onChanged = (Action <Schedule>)Delegate.Combine(schedule.onChanged, new Action <Schedule>(OnScheduleChanged)); }
public static bool Prefix( DialogPanel ___optionsPanel, KButton ___optionsButton, Schedule schedule) { var button = ___optionsPanel.GetComponent <HierarchyReferences>().GetReference <KButton>("ResetButton"); var panel = DefaultControls.CreatePanel(new DefaultControls.Resources()); panel.name = "ButtonsHolder"; panel.GetComponent <Image>().color = Color.clear; if (!SetParentAndLayer(panel, ___optionsButton.gameObject.transform.parent.gameObject)) { SetLayerRecursively(panel, LayerMask.NameToLayer("UI")); } var orAddComponent = panel.FindOrAddComponent <GridLayoutGroup>(); orAddComponent.cellSize = new Vector2(24, 24); orAddComponent.spacing = new Vector2(5, 0); orAddComponent.childAlignment = TextAnchor.UpperCenter; _buttonsHolderPanel = panel; var leftButton = Util.KInstantiateUI <KButton>(button.gameObject, _buttonsHolderPanel.gameObject, true); leftButton.name = "LeftShiftButton"; leftButton.GetComponentInChildren <LocText>().text = "<"; leftButton.GetComponentInChildren <ToolTip>().ClearMultiStringTooltip(); leftButton.onClick += schedule.LeftShift; var rightButton = Util.KInstantiateUI <KButton>(button.gameObject, _buttonsHolderPanel.gameObject, true); rightButton.name = "RightShiftButton"; rightButton.GetComponentInChildren <LocText>().text = ">"; rightButton.GetComponentInChildren <ToolTip>().ClearMultiStringTooltip(); rightButton.onClick += schedule.RightShift; return(true); }