コード例 #1
0
        private DialogCondition ParseVariableValueCondtion(string name, UniXMLElement element)
        {
            string varName    = element.GetString("name");
            string updateText = string.Empty;

            if (element.HasAttribute("update_text"))
            {
                updateText = element.GetString("update_text");
            }
            switch (name)
            {
            case QuestConditionName.INT_VARIABLE_VALUE_EQ: {
                int val = element.GetInt("value");
                return(new IntVariableValueEQCondition(varName, val, updateText));
            }

            case QuestConditionName.INT_VARIABLE_VARLUE_GE: {
                int val = element.GetInt("value");
                return(new IntVariableValueGECondition(varName, val, updateText));
            }

            case QuestConditionName.BOOL_VARIABLE_VALUE_EQ: {
                bool val = element.GetBool("value");
                return(new BoolVariableValueEQCondition(varName, val, updateText));
            }

            case QuestConditionName.FLOAT_VARIABLE_VALUE_EQ: {
                float val = element.GetFloat("value");
                return(new FloatVariableValueEQCondition(varName, val, updateText));
            }

            default:
                return(null);
            }
        }
コード例 #2
0
        public ImageComposeData(UniXMLElement element)
            : base(element)
        {
            if (element.HasAttribute("path"))
            {
                m_Path = element.GetString("path");
            }
            else
            {
                m_Path = string.Empty;
            }

            if (element.HasAttribute("width"))
            {
                m_Width = element.GetInt("width");
            }
            else
            {
                m_Width = 0;
            }

            if (element.HasAttribute("height"))
            {
                m_Height = element.GetInt("height");
            }
            else
            {
                m_Height = 0;
            }
        }
コード例 #3
0
 public AchievmentTierData(UniXMLElement element)
 {
     id = element.GetInt("id");
     //name            = element.GetString("name");
     count  = element.GetInt("count");
     points = element.GetInt("points");
 }
コード例 #4
0
ファイル: ManStageData.cs プロジェクト: OlegGelezcov/neb
 public ManStageData(UniXMLElement element)
 {
     stage     = element.GetInt("id");
     textId    = element.GetString("text");
     eventName = element.GetString("event");
     hintId    = element.GetString("hint");
     statName  = element.HasAttribute("statname") ? element.GetString("statname") : string.Empty;
 }
コード例 #5
0
 public SchemeContractReward(UniXMLElement element)
     : base(element)
 {
     color = (ObjectColor)Enum.Parse(typeof(ObjectColor), element.element.GetString("color"));
     if (element.HasAttribute("count"))
     {
         count = element.GetInt("count");
     }
     else
     {
         count = 0;
     }
 }
コード例 #6
0
        private DialogCondition Create(UniXMLElement element)
        {
            string type = element.GetString("type");

            switch (type)
            {
            case QuestConditionName.ON_STATION: {
                return(new OnStationCondition());
            }

            case QuestConditionName.QUEST_COMPLETED: {
                string questId = element.GetString("id");
                return(new QuestCompletedCondition(questId));
            }

            case QuestConditionName.AT_SPACE: {
                return(new AtSpaceCondition());
            }

            case QuestConditionName.DIALOG_COMPLETED: {
                string id = element.GetString("id");
                return(new DialogCompletedCondition(id));
            }

            case QuestConditionName.USER_EVENT: {
                UserEventName eventName = (UserEventName)Enum.Parse(typeof(UserEventName), element.GetString("name"));
                return(CreateUserEventCondition(element, eventName));
            }

            case QuestConditionName.COUNT_OF_ITEMS_GE: {
                string id = element.GetString("id");
                InventoryObjectType itemType = (InventoryObjectType)Enum.Parse(typeof(InventoryObjectType), element.GetString("item_type"));
                int    value      = element.GetInt("value");
                string updateText = string.Empty;
                if (element.HasAttribute("update_text"))
                {
                    updateText = element.GetString("update_text");
                }
                return(new CountOfItemsGECondition(itemType, id, value, updateText));
            }

            case QuestConditionName.INT_VARIABLE_VALUE_EQ:
            case QuestConditionName.INT_VARIABLE_VARLUE_GE:
            case QuestConditionName.FLOAT_VARIABLE_VALUE_EQ:
            case QuestConditionName.BOOL_VARIABLE_VALUE_EQ:
                return(ParseVariableValueCondtion(type, element));

            default:
                return(null);
            }
        }
コード例 #7
0
        public void Load(UniXMLElement parent)
        {
            Repeat    = parent.GetInt("repeat", 1);
            HintWorld = parent.GetString("hint_world", string.Empty);

            Conditions.Clear();
            QuestConditionParser parser = new QuestConditionParser();

            foreach (UniXMLElement conditionElement in parent.Elements("condition"))
            {
                QuestCondition condition = parser.Parse(conditionElement);
                if (condition != null)
                {
                    Conditions.Add(condition);
                }
            }
        }
コード例 #8
0
ファイル: ManQuestData.cs プロジェクト: OlegGelezcov/neb
        public ManQuestData(UniXMLElement element)
        {
            id = element.GetString("id");
            //type = (ManQuestCategory)System.Enum.Parse(typeof(ManQuestCategory), element.GetString("type"));
            name         = element.GetString("name");
            startText    = element.GetString("start_text");
            completeText = element.GetString("complete_text");
            index        = element.GetInt("index");

            prevQuests = new List <string>();
            string prevQuestString = element.GetString("prev_quests");

            string[] tokens = prevQuestString.Split(new char[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries);

            if (tokens.Length > 0)
            {
                prevQuests.AddRange(tokens);
            }

            stages = element.Elements("stage").Select(se => {
                return(new ManStageData(se));
            }).ToList();
        }
コード例 #9
0
ファイル: QuestCondition.cs プロジェクト: OlegGelezcov/neb
 public NpcKilledWithLevelQuestCondition(UniXMLElement element)
 {
     Level = element.GetInt("value");
 }
コード例 #10
0
ファイル: QuestCondition.cs プロジェクト: OlegGelezcov/neb
 public ReachLevelQuestCondition(UniXMLElement element)
 {
     Level = element.GetInt("value");
 }
コード例 #11
0
ファイル: QuestCondition.cs プロジェクト: OlegGelezcov/neb
 public PlayerLevelGEQuestCondition(UniXMLElement element)
 {
     Level = element.GetInt("value");
 }
コード例 #12
0
ファイル: QuestCondition.cs プロジェクト: OlegGelezcov/neb
 public CollectOreQuestCondition(UniXMLElement element)
 {
     OreId = element.GetString("value");
     Count = element.GetInt("count");
 }
コード例 #13
0
 public CraftResourceContractReward(UniXMLElement element)
     : base(element)
 {
     count = element.GetInt("count");
 }
コード例 #14
0
ファイル: QuestData.cs プロジェクト: OlegGelezcov/neb
 public void Load(UniXMLElement element)
 {
     Type  = element.GetEnum <QuestRewardType>("type");
     Count = element.GetInt("count");
 }
コード例 #15
0
 public LoreRecordData(UniXMLElement element)
 {
     recordId = element.GetString("id");
     index    = element.GetInt("index");
 }
コード例 #16
0
 public CraftResourceSpecialReward(UniXMLElement element)
     : base(element)
 {
     count = element.GetInt("count");
     id    = element.GetString("id");
 }
コード例 #17
0
 public TurretContractReward(UniXMLElement element)
     : base(element)
 {
     count = element.GetInt("count");
 }
コード例 #18
0
ファイル: QuestCondition.cs プロジェクト: OlegGelezcov/neb
 public ModuleCraftedQuestCondition(UniXMLElement element)
 {
     ModuleType = element.GetEnum <ShipModelSlotType>("value");
     Color      = element.GetEnum <ObjectColor>("color");
     Level      = element.GetInt("level");
 }