Beispiel #1
0
        void CreateNewQuest()
        {
            // Create a new Quest ScriptableObject
            QuestData quest = CreateInstance <QuestData>();

            // Update its properties with the form information
            quest.itemType        = itemType;
            quest.itemName        = questTitle; // TODO: Clean this double naming thing up!
            quest.questTitle      = questTitle;
            quest.itemDescription = description;
            quest.icon            = questIcon;
            quest.objective       = objective;
            quest.quantity        = objectiveQuantity;
            quest.rewardAmount    = rewardAmount;
            quest.rewardImg       = rewardImage;

            // Now that the info is entered on the quest, generate an ID with it.
            quest.GenerateId();                 // TODO: Automate this.
            quest.questID = quest.itemId;

            // Finally, save the new asset to the specified location.
            var path     = String.Format(assetsPath, quest.questID);
            var newTitle = AssetDatabase.GenerateUniqueAssetPath(path);

            AssetDatabase.CreateAsset(quest, newTitle);
            AssetDatabase.SaveAssets();
        }
Beispiel #2
0
        private void buttonCreate_Click(object sender, EventArgs e)
        {
            var questId = short.Parse(this.labelId.Text);

            if (dataHandler.Quests.ContainsKey(questId))
            {
                this.logger.Error("QuestId already exists in the database");
                return;
            }

            if (checkedListFlags.CheckedItems.Count == 0)
            {
                this.logger.Error("Must check atleast 1 flag");
                return;
            }

            var quest = new QuestData
            {
                Id      = QuestData.GenerateId(questId),
                QuestId = questId,
                Name    = this.textBoxName.Text,
                Level   = short.Parse(textBoxLevel.Text)
            };

            if (this.StoreQuest(quest))
            {
                var level = quest.Level.ToString(CultureInfo.InvariantCulture);
                if (!treeViewQuests.Nodes.ContainsKey(level))
                {
                    this.treeViewQuests.Nodes.Add(level, level);
                }

                this.treeViewQuests.Nodes[level].Nodes.Add(quest.QuestId.ToString(), quest.Name);

                this.logger.LogFormat("New Quest Created. Id = {0} Name = {1}", questId, quest.Name);
                this.ResetFields();
            }
        }