示例#1
0
        protected override int GetLabelHue(int index, int pageIndex, ListGumpEntry entry)
        {
            if (Schedule == null)
            {
                return(ErrorHue);
            }

            switch (entry.Label)
            {
            case "Monday":
                return(Schedule.Info.HasDay(ScheduleDays.Monday) ? HighlightHue : ErrorHue);

            case "Tuesday":
                return(Schedule.Info.HasDay(ScheduleDays.Tuesday) ? HighlightHue : ErrorHue);

            case "Wednesday":
                return(Schedule.Info.HasDay(ScheduleDays.Wednesday) ? HighlightHue : ErrorHue);

            case "Thursday":
                return(Schedule.Info.HasDay(ScheduleDays.Thursday) ? HighlightHue : ErrorHue);

            case "Friday":
                return(Schedule.Info.HasDay(ScheduleDays.Friday) ? HighlightHue : ErrorHue);

            case "Saturday":
                return(Schedule.Info.HasDay(ScheduleDays.Saturday) ? HighlightHue : ErrorHue);

            case "Sunday":
                return(Schedule.Info.HasDay(ScheduleDays.Sunday) ? HighlightHue : ErrorHue);
            }

            return(base.GetLabelHue(index, pageIndex, entry));
        }
示例#2
0
 public virtual void AddMenuButton(
     int x,
     int y,
     int normalID,
     int pressedID,
     int labelXOffset,
     int labelYOffset,
     int labelWidth,
     int labelHeight,
     int labelHue,
     MenuGumpOptions opts,
     ListGumpEntry defSelection)
 {
     AddMenuButton(
         x,
         y,
         normalID,
         pressedID,
         labelXOffset,
         labelYOffset,
         labelWidth,
         labelHeight,
         labelHue,
         opts,
         defSelection,
         true);
 }
示例#3
0
		protected override int GetLabelHue(int index, int pageIndex, ListGumpEntry entry)
		{
			if (Schedule == null)
			{
				return ErrorHue;
			}

			switch (entry.Label)
			{
				case "Monday":
					return Schedule.Info.HasDay(ScheduleDays.Monday) ? HighlightHue : ErrorHue;
				case "Tuesday":
					return Schedule.Info.HasDay(ScheduleDays.Tuesday) ? HighlightHue : ErrorHue;
				case "Wednesday":
					return Schedule.Info.HasDay(ScheduleDays.Wednesday) ? HighlightHue : ErrorHue;
				case "Thursday":
					return Schedule.Info.HasDay(ScheduleDays.Thursday) ? HighlightHue : ErrorHue;
				case "Friday":
					return Schedule.Info.HasDay(ScheduleDays.Friday) ? HighlightHue : ErrorHue;
				case "Saturday":
					return Schedule.Info.HasDay(ScheduleDays.Saturday) ? HighlightHue : ErrorHue;
				case "Sunday":
					return Schedule.Info.HasDay(ScheduleDays.Sunday) ? HighlightHue : ErrorHue;
			}

			return base.GetLabelHue(index, pageIndex, entry);
		}
示例#4
0
        public override void CompileEntryLayout(
            SuperGumpLayout layout,
            int length,
            int index,
            int pIndex,
            int yOffset,
            ListGumpEntry entry)
        {
            base.CompileEntryLayout(layout, length, index, pIndex, yOffset, entry);

            layout.Replace(
                "button/list/select/" + index,
                () =>
            {
                var info = CellarStyles.Styles.FirstOrDefault(s => s.Name == entry.Label);

                if (info != null && info.Style != CellarStyle.None)
                {
                    AddButton(20, yOffset + 5, 1895, 1896, b => SelectEntry(b, entry));
                    AddItem(10, yOffset - 5, info.FloorTiles.GetRandom());
                }
                else
                {
                    AddButton(15, yOffset, 4006, 4007, b => SelectEntry(b, entry));
                }
            });
        }
示例#5
0
        public virtual void AddEnumSelect <TEnum>(
            int x,
            int y,
            int normalID,
            int pressedID,
            int labelXOffset,
            int labelYOffset,
            int labelWidth,
            int labelHeight,
            int labelHue,
            TEnum selected,
            Action <TEnum> onSelect,
            bool resolveMenuPos) where TEnum : struct, IComparable, IFormattable, IConvertible
        {
            if (!typeof(TEnum).IsEnum)
            {
                return;
            }

            var opts = new MenuGumpOptions();

            ListGumpEntry?def = null;

            foreach (var o in (default(TEnum) as Enum).EnumerateValues <TEnum>(false))
            {
                var v = o;
                var e = new ListGumpEntry(v.ToString(), b => onSelect(v));

                opts.AppendEntry(e);

                if (Equals(v, selected))
                {
                    def = e;
                }
            }

            if (def != null)
            {
                AddMenuButton(
                    x,
                    y,
                    normalID,
                    pressedID,
                    labelXOffset,
                    labelYOffset,
                    labelWidth,
                    labelHeight,
                    labelHue,
                    opts,
                    def.Value,
                    resolveMenuPos);
            }
        }
示例#6
0
        public virtual void AddEnumSelect <TEnum>(
            int x,
            int y,
            int normalID,
            int pressedID,
            int labelXOffset,
            int labelYOffset,
            int labelWidth,
            int labelHeight,
            int labelHue,
            TEnum selected,
            Action <TEnum> onSelect) where TEnum : struct
        {
            if (!typeof(TEnum).IsEnum)
            {
                return;
            }

            var vals = (default(TEnum) as Enum).GetValues <TEnum>();
            var opts = new MenuGumpOptions();

            ListGumpEntry?def = null;

            foreach (var val in vals)
            {
                var e = new ListGumpEntry(val.ToString(), b => onSelect(val));

                opts.AppendEntry(e);

                if (Equals(val, selected))
                {
                    def = e;
                }
            }

            if (def != null)
            {
                AddMenuButton(
                    x,
                    y,
                    normalID,
                    pressedID,
                    labelXOffset,
                    labelYOffset,
                    labelWidth,
                    labelHeight,
                    labelHue,
                    opts,
                    def.Value);
            }
        }
示例#7
0
        protected override int GetLabelHue(int index, int pageIndex, ListGumpEntry entry)
        {
            if (Schedule == null)
            {
                return(ErrorHue);
            }

            switch (entry.Label)
            {
            case "January":
                return(Schedule.Info.HasMonth(ScheduleMonths.January) ? HighlightHue : ErrorHue);

            case "February":
                return(Schedule.Info.HasMonth(ScheduleMonths.February) ? HighlightHue : ErrorHue);

            case "March":
                return(Schedule.Info.HasMonth(ScheduleMonths.March) ? HighlightHue : ErrorHue);

            case "April":
                return(Schedule.Info.HasMonth(ScheduleMonths.April) ? HighlightHue : ErrorHue);

            case "May":
                return(Schedule.Info.HasMonth(ScheduleMonths.May) ? HighlightHue : ErrorHue);

            case "June":
                return(Schedule.Info.HasMonth(ScheduleMonths.June) ? HighlightHue : ErrorHue);

            case "July":
                return(Schedule.Info.HasMonth(ScheduleMonths.July) ? HighlightHue : ErrorHue);

            case "August":
                return(Schedule.Info.HasMonth(ScheduleMonths.August) ? HighlightHue : ErrorHue);

            case "September":
                return(Schedule.Info.HasMonth(ScheduleMonths.September) ? HighlightHue : ErrorHue);

            case "October":
                return(Schedule.Info.HasMonth(ScheduleMonths.October) ? HighlightHue : ErrorHue);

            case "November":
                return(Schedule.Info.HasMonth(ScheduleMonths.November) ? HighlightHue : ErrorHue);

            case "December":
                return(Schedule.Info.HasMonth(ScheduleMonths.December) ? HighlightHue : ErrorHue);
            }

            return(base.GetLabelHue(index, pageIndex, entry));
        }
示例#8
0
 public virtual void AddMenuButton(
     int x,
     int y,
     int normalID,
     int pressedID,
     int labelXOffset,
     int labelYOffset,
     int labelWidth,
     int labelHeight,
     int labelHue,
     MenuGumpOptions opts,
     ListGumpEntry defSelection)
 {
     AddButton(x, y, normalID, pressedID, b => Send(new MenuGump(User, Refresh(), opts, b)));
     AddLabel(x + labelXOffset, y + labelYOffset, labelHue, defSelection.Label ?? String.Empty);
 }
示例#9
0
		protected override int GetLabelHue(int index, int pageIndex, ListGumpEntry entry)
		{
			if (Schedule == null)
			{
				return ErrorHue;
			}

			switch (entry.Label)
			{
				case "January":
					return Schedule.Info.HasMonth(ScheduleMonths.January) ? HighlightHue : ErrorHue;
				case "February":
					return Schedule.Info.HasMonth(ScheduleMonths.February) ? HighlightHue : ErrorHue;
				case "March":
					return Schedule.Info.HasMonth(ScheduleMonths.March) ? HighlightHue : ErrorHue;
				case "April":
					return Schedule.Info.HasMonth(ScheduleMonths.April) ? HighlightHue : ErrorHue;
				case "May":
					return Schedule.Info.HasMonth(ScheduleMonths.May) ? HighlightHue : ErrorHue;
				case "June":
					return Schedule.Info.HasMonth(ScheduleMonths.June) ? HighlightHue : ErrorHue;
				case "July":
					return Schedule.Info.HasMonth(ScheduleMonths.July) ? HighlightHue : ErrorHue;
				case "August":
					return Schedule.Info.HasMonth(ScheduleMonths.August) ? HighlightHue : ErrorHue;
				case "September":
					return Schedule.Info.HasMonth(ScheduleMonths.September) ? HighlightHue : ErrorHue;
				case "October":
					return Schedule.Info.HasMonth(ScheduleMonths.October) ? HighlightHue : ErrorHue;
				case "November":
					return Schedule.Info.HasMonth(ScheduleMonths.November) ? HighlightHue : ErrorHue;
				case "December":
					return Schedule.Info.HasMonth(ScheduleMonths.December) ? HighlightHue : ErrorHue;
			}

			return base.GetLabelHue(index, pageIndex, entry);
		}