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(); }
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(); } }