Пример #1
0
        public EventButton(QuestButtonData buttonData)
        {
            label = buttonData.Label;
            string colorRGB = ColorUtil.FromName(buttonData.Color);

            // Check format is valid
            if ((colorRGB.Length != 7 && colorRGB.Length != 9) || (colorRGB[0] != '#'))
            {
                Game.Get().quest.log.Add(new Quest.LogEntry("Warning: Button color must be in #RRGGBB format or a known name", true));
            }

            // Hexadecimal to float convert (0x00-0xFF -> 0.0-1.0)
            colour.r = (byte)System.Convert.ToByte(colorRGB.Substring(1, 2), 16);
            colour.g = (byte)System.Convert.ToByte(colorRGB.Substring(3, 2), 16);
            colour.b = (byte)System.Convert.ToByte(colorRGB.Substring(5, 2), 16);

            if (colorRGB.Length == 9)
            {
                colour.a = (byte)System.Convert.ToByte(colorRGB.Substring(7, 2), 16);
            }
            else
            {
                colour.a = 255; // opaque by default
            }
            this.condition = buttonData.Condition;
            this.action    = buttonData.ConditionFailedAction;
        }
Пример #2
0
 public EditorWindowQuestButtonEdit(string title, QuestButtonData questButton, Action <QuestButtonData> okAction)
 {
     this.title          = title;
     this.originalButton = questButton;
     this.newButton      = new QuestButtonData(questButton.Label, questButton.EventNames, new VarTests(questButton.Condition.VarTestsComponents.ToList()), questButton.RawConditionFailedAction);
     this.okAction       = okAction;
 }
Пример #3
0
    private void EditCondition(QuestButtonData nextEvent)
    {
        var editorWindowVarTestsEdit = new EditorWindowQuestButtonEdit(CommonStringKeys.TRIGGER.Translate() + " - " + nextEvent.Label.Translate(), nextEvent,
                                                                       button =>
        {
            nextEvent.Condition = button.Condition;
            nextEvent.RawConditionFailedAction = button.RawConditionFailedAction;
            Update();
        });

        editorWindowVarTestsEdit.Draw();
    }
Пример #4
0
 private static bool IsButtonEnabled(QuestButtonData b, VarManager varManager)
 {
     return(b.ConditionFailedAction == QuestButtonAction.NONE || !b.HasCondition || varManager.Test(b.Condition));
 }