示例#1
0
 private void RebuildMinionWidgets()
 {
     if (MinionWidgetsNeedRebuild())
     {
         foreach (ScheduleMinionWidget minionWidget in minionWidgets)
         {
             Util.KDestroyGameObject(minionWidget);
         }
         minionWidgets.Clear();
         foreach (Ref <Schedulable> item in schedule.GetAssigned())
         {
             ScheduleMinionWidget scheduleMinionWidget = Util.KInstantiateUI <ScheduleMinionWidget>(minionWidgetPrefab.gameObject, minionWidgetContainer, true);
             scheduleMinionWidget.Setup(item.Get());
             minionWidgets.Add(scheduleMinionWidget);
         }
         if (Components.LiveMinionIdentities.Count > schedule.GetAssigned().Count)
         {
             blankMinionWidget.transform.SetAsLastSibling();
             blankMinionWidget.gameObject.SetActive(true);
         }
         else
         {
             blankMinionWidget.gameObject.SetActive(false);
         }
     }
 }
示例#2
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));
    }