Beispiel #1
0
    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));
    }
Beispiel #2
0
        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);
        }