public static CharacterQuest Create(Quest quest) { CharacterQuest newQuest = new CharacterQuest(); newQuest.dataId = quest.DataId; newQuest.isComplete = false; return(newQuest); }
public void GetObjectData(System.Object obj, SerializationInfo info, StreamingContext context) { CharacterQuest data = (CharacterQuest)obj; info.AddValue("dataId", data.dataId); info.AddValue("isComplete", data.isComplete); info.AddValue("killedMonsters", data.killedMonsters); }
public void CreateCharacterQuest(int idx, string characterId, CharacterQuest characterQuest) { ExecuteNonQuery("INSERT INTO characterquest (id, idx, characterId, dataId, isComplete, killedMonsters) VALUES (@id, @idx, @characterId, @dataId, @isComplete, @killedMonsters)", new SqliteParameter("@id", characterId + "_" + idx), new SqliteParameter("@idx", idx), new SqliteParameter("@characterId", characterId), new SqliteParameter("@dataId", characterQuest.dataId), new SqliteParameter("@isComplete", characterQuest.isComplete), new SqliteParameter("@killedMonsters", WriteKillMonsters(characterQuest.killedMonsters))); }
protected virtual void NetFuncCompleteQuest(int questDataId) { int indexOfQuest = this.IndexOfQuest(questDataId); Quest quest; if (indexOfQuest < 0 || !GameInstance.Quests.TryGetValue(questDataId, out quest)) { return; } CharacterQuest characterQuest = quests[indexOfQuest]; if (!characterQuest.IsAllTasksDone(this)) { return; } if (characterQuest.isComplete) { return; } QuestTask[] tasks = quest.tasks; foreach (QuestTask task in tasks) { switch (task.taskType) { case QuestTaskType.CollectItem: this.DecreaseItems(task.itemAmount.item.DataId, task.itemAmount.amount); break; } } Reward reward = gameplayRule.MakeQuestReward(quest); RewardExp(reward, 1f, RewardGivenType.Quest); RewardCurrencies(reward, 1f, RewardGivenType.Quest); ItemAmount[] rewardItems = quest.rewardItems; if (rewardItems != null && rewardItems.Length > 0) { foreach (ItemAmount rewardItem in rewardItems) { if (rewardItem.item != null && rewardItem.amount > 0) { this.IncreaseItems(CharacterItem.Create(rewardItem.item, 1, rewardItem.amount)); } } } characterQuest.isComplete = true; if (!quest.canRepeat) { quests[indexOfQuest] = characterQuest; } else { quests.RemoveAt(indexOfQuest); } }
public System.Object SetObjectData(System.Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) { CharacterQuest data = (CharacterQuest)obj; data.dataId = info.GetInt32("dataId"); data.isComplete = info.GetBoolean("isComplete"); data.killedMonsters = (Dictionary <int, int>)info.GetValue("killedMonsters", typeof(Dictionary <int, int>)); obj = data; return(obj); }
private bool ReadCharacterQuest(SqliteDataReader reader, out CharacterQuest result) { if (reader.Read()) { result = new CharacterQuest(); result.dataId = reader.GetInt32(0); result.isComplete = reader.GetBoolean(1); result.killedMonsters = ReadKillMonsters(reader.GetString(2)); return(true); } result = CharacterQuest.Empty; return(false); }
protected virtual void NetFuncAcceptQuest(int questDataId) { int indexOfQuest = this.IndexOfQuest(questDataId); Quest quest; if (indexOfQuest >= 0 || !GameInstance.Quests.TryGetValue(questDataId, out quest)) { return; } CharacterQuest characterQuest = CharacterQuest.Create(quest); quests.Add(characterQuest); }
private static CharacterQuestDTO Insert(CharacterQuestDTO charQuest, OpenNosContext context) { CharacterQuest entity = new CharacterQuest(); Mapper.Mappers.CharacterQuestMapper.ToCharacterQuest(charQuest, entity); context.CharacterQuest.Add(entity); context.SaveChanges(); if (Mapper.Mappers.CharacterQuestMapper.ToCharacterQuestDTO(entity, charQuest)) { return(charQuest); } return(null); }
protected static CharacterQuestDTO InsertOrUpdate(OpenNosContext context, CharacterQuestDTO dto) { Guid primaryKey = dto.Id; CharacterQuest entity = context.Set <CharacterQuest>().FirstOrDefault(c => c.Id == primaryKey); if (entity == null) { return(Insert(dto, context)); } else { return(Update(entity, dto, context)); } }
private bool ReadCharacterQuest(MySqlDataReader reader, out CharacterQuest result) { if (reader.Read()) { result = new CharacterQuest(); result.dataId = reader.GetInt32(0); result.isComplete = reader.GetBoolean(1); result.isTracking = reader.GetBoolean(2); result.ReadKilledMonsters(reader.GetString(3)); result.ReadCompletedTasks(reader.GetString(4)); return(true); } result = CharacterQuest.Empty; return(false); }
private static CharacterQuestDTO Update(CharacterQuest entity, CharacterQuestDTO charQuest, OpenNosContext context) { if (entity != null) { Mapper.Mappers.CharacterQuestMapper.ToCharacterQuest(charQuest, entity); context.SaveChanges(); } if (Mapper.Mappers.CharacterQuestMapper.ToCharacterQuestDTO(entity, charQuest)) { return(charQuest); } return(null); }
public virtual void OnKillMonster(BaseMonsterCharacterEntity monsterCharacterEntity) { if (!IsServer || monsterCharacterEntity == null) { return; } for (int i = 0; i < Quests.Count; ++i) { CharacterQuest quest = Quests[i]; if (quest.AddKillMonster(monsterCharacterEntity, 1)) { quests[i] = quest; } } }
protected virtual void NetFuncAbandonQuest(int questDataId) { int indexOfQuest = this.IndexOfQuest(questDataId); Quest quest; if (indexOfQuest < 0 || !GameInstance.Quests.TryGetValue(questDataId, out quest)) { return; } CharacterQuest characterQuest = quests[indexOfQuest]; if (characterQuest.isComplete) { return; } quests.RemoveAt(indexOfQuest); }
private bool ReadCharacterQuest(SQLiteRowsReader reader, out CharacterQuest result, bool resetReader = true) { if (resetReader) { reader.ResetReader(); } if (reader.Read()) { result = new CharacterQuest(); result.dataId = reader.GetInt32("dataId"); result.isComplete = reader.GetBoolean("isComplete"); result.killedMonsters = ReadKillMonsters(reader.GetString("killedMonsters")); return(true); } result = CharacterQuest.Empty; return(false); }
public static bool ToCharacterQuest(CharacterQuestDTO input, CharacterQuest output) { if (input == null) { return(false); } output.Id = input.Id; output.CharacterId = input.CharacterId; output.QuestId = input.QuestId; output.FirstObjective = input.FirstObjective; output.SecondObjective = input.SecondObjective; output.ThirdObjective = input.ThirdObjective; output.FourthObjective = input.FourthObjective; output.FifthObjective = input.FifthObjective; output.IsMainQuest = input.IsMainQuest; return(true); }
public DeleteResult Delete(long characterId, long questId) { try { using (OpenNosContext context = DataAccessHelper.CreateContext()) { CharacterQuest charQuest = context.CharacterQuest.FirstOrDefault(i => i.CharacterId == characterId && i.QuestId == questId); if (charQuest != null) { context.CharacterQuest.Remove(charQuest); context.SaveChanges(); } return(DeleteResult.Deleted); } } catch (Exception e) { Logger.Error(e); return(DeleteResult.Error); } }
public bool IsPass(IPlayerCharacterData character) { int indexOfQuest = -1; bool questTasksCompleted = false; bool questCompleted = false; if (quest != null) { indexOfQuest = character.IndexOfQuest(quest.DataId); if (indexOfQuest >= 0) { CharacterQuest characterQuest = character.Quests[indexOfQuest]; questTasksCompleted = characterQuest.IsAllTasksDone(character); questCompleted = characterQuest.isComplete; } } switch (conditionType) { case NpcDialogConditionType.LevelMoreThanOrEqual: return(character.Level >= conditionalLevel); case NpcDialogConditionType.LevelLessThanOrEqual: return(character.Level <= conditionalLevel); case NpcDialogConditionType.QuestNotStarted: return(indexOfQuest < 0); case NpcDialogConditionType.QuestOngoing: return(!questTasksCompleted); case NpcDialogConditionType.QuestTasksCompleted: return(questTasksCompleted); case NpcDialogConditionType.QuestCompleted: return(questCompleted); } return(true); }
public static T DeserializeCharacterData <T>(this T characterData, NetDataReader reader) where T : IPlayerCharacterData { var tempCharacterData = new PlayerCharacterData(); tempCharacterData.Id = reader.GetString(); tempCharacterData.DataId = reader.GetInt(); tempCharacterData.EntityId = reader.GetInt(); tempCharacterData.CharacterName = reader.GetString(); tempCharacterData.Level = reader.GetShort(); tempCharacterData.Exp = reader.GetInt(); tempCharacterData.CurrentHp = reader.GetInt(); tempCharacterData.CurrentMp = reader.GetInt(); tempCharacterData.CurrentStamina = reader.GetInt(); tempCharacterData.CurrentFood = reader.GetInt(); tempCharacterData.CurrentWater = reader.GetInt(); tempCharacterData.StatPoint = reader.GetShort(); tempCharacterData.SkillPoint = reader.GetShort(); tempCharacterData.Gold = reader.GetInt(); tempCharacterData.PartyId = reader.GetInt(); tempCharacterData.GuildId = reader.GetInt(); tempCharacterData.GuildRole = reader.GetByte(); tempCharacterData.SharedGuildExp = reader.GetInt(); tempCharacterData.CurrentMapName = reader.GetString(); tempCharacterData.CurrentPosition = new Vector3(reader.GetFloat(), reader.GetFloat(), reader.GetFloat()); tempCharacterData.RespawnMapName = reader.GetString(); tempCharacterData.RespawnPosition = new Vector3(reader.GetFloat(), reader.GetFloat(), reader.GetFloat()); tempCharacterData.LastUpdate = reader.GetInt(); int count = 0; count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterAttribute(); entry.Deserialize(reader); tempCharacterData.Attributes.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterBuff(); entry.Deserialize(reader); tempCharacterData.Buffs.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterSkill(); entry.Deserialize(reader); tempCharacterData.Skills.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterSkillUsage(); entry.Deserialize(reader); tempCharacterData.SkillUsages.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterSummon(); entry.Deserialize(reader); tempCharacterData.Summons.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterItem(); entry.Deserialize(reader); tempCharacterData.EquipItems.Add(entry); } count = reader.GetShort(); for (var i = 0; i < count; ++i) { var entry = new CharacterItem(); entry.Deserialize(reader); tempCharacterData.NonEquipItems.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterHotkey(); entry.Deserialize(reader); tempCharacterData.Hotkeys.Add(entry); } count = reader.GetByte(); for (var i = 0; i < count; ++i) { var entry = new CharacterQuest(); entry.Deserialize(reader); tempCharacterData.Quests.Add(entry); } var equipWeapons = new EquipWeapons(); equipWeapons.Deserialize(reader); tempCharacterData.EquipWeapons = equipWeapons; DevExtUtils.InvokeStaticDevExtMethods(ClassType, "DeserializeCharacterData", characterData, reader); tempCharacterData.ValidateCharacterData(); tempCharacterData.CloneTo(characterData); return(characterData); }
protected override void UpdateData() { var owningCharacter = BasePlayerCharacterController.OwningCharacter; if (uiTextTitle != null) { uiTextTitle.text = string.Format(titleFormat, Data == null ? "Unknow" : Data.title); } if (uiTextDescription != null) { uiTextDescription.text = string.Format(descriptionFormat, Data == null ? "N/A" : Data.description); } Quest quest = null; ItemCraft itemCraft = null; List <NpcSellItem> sellItems = new List <NpcSellItem>(); List <UINpcDialogMenuAction> menuActions = new List <UINpcDialogMenuAction>(); switch (Data.type) { case NpcDialogType.Normal: case NpcDialogType.SaveRespawnPoint: if (onSwitchToNormalDialog == null) { onSwitchToNormalDialog.Invoke(); } var menus = Data.menus; for (var i = 0; i < menus.Length; ++i) { var menu = menus[i]; if (menu.IsPassConditions(owningCharacter)) { var menuAction = new UINpcDialogMenuAction(); menuAction.title = menu.title; menuAction.menuIndex = i; menuActions.Add(menuAction); } } break; case NpcDialogType.Quest: if (onSwitchToQuestDialog == null) { onSwitchToQuestDialog.Invoke(); } if (uiCharacterQuest != null) { quest = Data.quest; if (quest != null) { var acceptMenuAction = new UINpcDialogMenuAction(); var declineMenuAction = new UINpcDialogMenuAction(); var abandonMenuAction = new UINpcDialogMenuAction(); var completeMenuAction = new UINpcDialogMenuAction(); acceptMenuAction.title = messageQuestAccept; acceptMenuAction.menuIndex = NpcDialog.QUEST_ACCEPT_MENU_INDEX; declineMenuAction.title = messageQuestDecline; declineMenuAction.menuIndex = NpcDialog.QUEST_DECLINE_MENU_INDEX; abandonMenuAction.title = messageQuestAbandon; abandonMenuAction.menuIndex = NpcDialog.QUEST_ABANDON_MENU_INDEX; completeMenuAction.title = messageQuestComplete; completeMenuAction.menuIndex = NpcDialog.QUEST_COMPLETE_MENU_INDEX; CharacterQuest characterQuest; var index = owningCharacter.IndexOfQuest(quest.DataId); if (index >= 0) { characterQuest = owningCharacter.Quests[index]; if (!characterQuest.IsAllTasksDone(owningCharacter)) { menuActions.Add(abandonMenuAction); } else { menuActions.Add(completeMenuAction); } } else { characterQuest = CharacterQuest.Create(quest); menuActions.Add(acceptMenuAction); menuActions.Add(declineMenuAction); } uiCharacterQuest.Setup(characterQuest, owningCharacter, index); } } break; case NpcDialogType.Shop: if (onSwitchToSellItemDialog == null) { onSwitchToSellItemDialog.Invoke(); } sellItems.AddRange(Data.sellItems); break; case NpcDialogType.CraftItem: if (onSwitchToCraftItemDialog == null) { onSwitchToCraftItemDialog.Invoke(); } if (uiCraftItem != null) { itemCraft = Data.itemCraft; if (itemCraft != null) { var startMenuAction = new UINpcDialogMenuAction(); var cancelMenuAction = new UINpcDialogMenuAction(); startMenuAction.title = messageCraftItemStart; startMenuAction.menuIndex = NpcDialog.CRAFT_ITEM_START_MENU_INDEX; cancelMenuAction.title = messageCraftItemCancel; cancelMenuAction.menuIndex = NpcDialog.CRAFT_ITEM_CANCEL_MENU_INDEX; uiCraftItem.Data = Data.itemCraft; menuActions.Add(startMenuAction); menuActions.Add(cancelMenuAction); } } break; } // Menu if (uiMenuRoot != null) { uiMenuRoot.SetActive(menuActions.Count > 0); } CacheMenuList.Generate(menuActions, (index, menuAction, ui) => { var uiNpcDialogMenu = ui.GetComponent <UINpcDialogMenu>(); uiNpcDialogMenu.Data = menuAction; uiNpcDialogMenu.uiNpcDialog = this; uiNpcDialogMenu.Show(); }); // Quest if (uiCharacterQuest != null) { if (quest == null) { uiCharacterQuest.Hide(); } else { uiCharacterQuest.Show(); } } // Shop if (uiSellItemRoot != null) { uiSellItemRoot.SetActive(sellItems.Count > 0); } CacheSellItemList.Generate(sellItems, (index, sellItem, ui) => { var uiNpcSellItem = ui.GetComponent <UINpcSellItem>(); uiNpcSellItem.Setup(sellItem, index); }); // Craft Item if (uiCraftItem != null) { if (itemCraft == null) { uiCraftItem.Hide(); } else { uiCraftItem.Show(); } } }
public static bool IsEmpty(this CharacterQuest data) { return(data == null || data.Equals(CharacterQuest.Empty)); }
protected override void UpdateData() { var dialog = Data; var quest = dialog.quest; var owningCharacter = BasePlayerCharacterController.OwningCharacter; if (textTitle != null) { textTitle.text = string.Format(titleFormat, dialog == null ? "Unknow" : dialog.title); } if (textDescription != null) { textDescription.text = string.Format(descriptionFormat, dialog == null ? "N/A" : dialog.description); } List <UINpcDialogMenuAction> menuActions = new List <UINpcDialogMenuAction>(); switch (dialog.type) { case NpcDialogType.Quest: if (uiCharacterQuest != null) { if (quest == null) { uiCharacterQuest.Hide(); } else { var acceptMenuAction = new UINpcDialogMenuAction(); var declineMenuAction = new UINpcDialogMenuAction(); var abandonMenuAction = new UINpcDialogMenuAction(); var completeMenuAction = new UINpcDialogMenuAction(); acceptMenuAction.title = messageQuestAccept; acceptMenuAction.menuIndex = NpcDialog.QUEST_ACCEPT_MENU_INDEX; declineMenuAction.title = messageQuestDecline; declineMenuAction.menuIndex = NpcDialog.QUEST_DECLINE_MENU_INDEX; abandonMenuAction.title = messageQuestAbandon; abandonMenuAction.menuIndex = NpcDialog.QUEST_ABANDON_MENU_INDEX; completeMenuAction.title = messageQuestComplete; completeMenuAction.menuIndex = NpcDialog.QUEST_COMPLETE_MENU_INDEX; CharacterQuest characterQuest; var index = owningCharacter.IndexOfQuest(quest.HashId); if (index >= 0) { characterQuest = owningCharacter.quests[index]; if (!characterQuest.IsAllTasksDone(owningCharacter)) { menuActions.Add(abandonMenuAction); } else { menuActions.Add(completeMenuAction); } } else { characterQuest = CharacterQuest.Create(quest); menuActions.Add(acceptMenuAction); menuActions.Add(declineMenuAction); } uiCharacterQuest.Setup(characterQuest, owningCharacter, index); uiCharacterQuest.Show(); } } break; case NpcDialogType.Normal: if (uiCharacterQuest != null) { uiCharacterQuest.Hide(); } var menus = dialog.menus; for (var i = 0; i < menus.Length; ++i) { var menu = menus[i]; if (menu.IsPassConditions(owningCharacter)) { var menuAction = new UINpcDialogMenuAction(); menuAction.title = menu.title; menuAction.menuIndex = i; menuActions.Add(menuAction); } } break; } CacheList.Generate(menuActions, (index, menuAction, ui) => { var uiNpcDialogMenu = ui.GetComponent <UINpcDialogMenu>(); uiNpcDialogMenu.Data = menuAction; uiNpcDialogMenu.uiNpcDialog = this; uiNpcDialogMenu.Show(); }); }
protected override void UpdateData() { BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter; if (uiTextTitle != null) { uiTextTitle.text = string.Format( LanguageManager.GetText(formatKeyTitle), Data == null ? LanguageManager.GetUnknowTitle() : Data.Title); } if (uiTextDescription != null) { uiTextDescription.text = string.Format( LanguageManager.GetText(formatKeyDescription), Data == null ? LanguageManager.GetUnknowDescription() : Data.Description); } Quest quest = null; Item craftingItem = null; List <NpcSellItem> sellItems = new List <NpcSellItem>(); List <UINpcDialogMenuAction> menuActions = new List <UINpcDialogMenuAction>(); switch (Data.type) { case NpcDialogType.Normal: if (onSwitchToNormalDialog == null) { onSwitchToNormalDialog.Invoke(); } NpcDialogMenu[] menus = Data.menus; for (int i = 0; i < menus.Length; ++i) { NpcDialogMenu menu = menus[i]; if (menu.IsPassConditions(owningCharacter)) { UINpcDialogMenuAction menuAction = new UINpcDialogMenuAction(); menuAction.title = menu.title; menuAction.menuIndex = i; menuActions.Add(menuAction); } } break; case NpcDialogType.Quest: if (onSwitchToQuestDialog == null) { onSwitchToQuestDialog.Invoke(); } if (uiCharacterQuest != null) { quest = Data.quest; if (quest != null) { UINpcDialogMenuAction acceptMenuAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction declineMenuAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction abandonMenuAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction completeMenuAction = new UINpcDialogMenuAction(); acceptMenuAction.title = messageQuestAccept; acceptMenuAction.menuIndex = NpcDialog.QUEST_ACCEPT_MENU_INDEX; declineMenuAction.title = messageQuestDecline; declineMenuAction.menuIndex = NpcDialog.QUEST_DECLINE_MENU_INDEX; abandonMenuAction.title = messageQuestAbandon; abandonMenuAction.menuIndex = NpcDialog.QUEST_ABANDON_MENU_INDEX; completeMenuAction.title = messageQuestComplete; completeMenuAction.menuIndex = NpcDialog.QUEST_COMPLETE_MENU_INDEX; CharacterQuest characterQuest; int index = owningCharacter.IndexOfQuest(quest.DataId); if (index >= 0) { characterQuest = owningCharacter.Quests[index]; if (!characterQuest.IsAllTasksDone(owningCharacter)) { menuActions.Add(abandonMenuAction); } else { menuActions.Add(completeMenuAction); } } else { characterQuest = CharacterQuest.Create(quest); menuActions.Add(acceptMenuAction); menuActions.Add(declineMenuAction); } uiCharacterQuest.Setup(characterQuest, owningCharacter, index); } } break; case NpcDialogType.Shop: if (onSwitchToSellItemDialog == null) { onSwitchToSellItemDialog.Invoke(); } sellItems.AddRange(Data.sellItems); break; case NpcDialogType.CraftItem: if (onSwitchToCraftItemDialog == null) { onSwitchToCraftItemDialog.Invoke(); } if (uiCraftItem != null) { craftingItem = Data.itemCraft.CraftingItem; if (craftingItem != null) { UINpcDialogMenuAction startMenuAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction cancelMenuAction = new UINpcDialogMenuAction(); startMenuAction.title = messageCraftItemStart; startMenuAction.menuIndex = NpcDialog.CRAFT_ITEM_START_MENU_INDEX; cancelMenuAction.title = messageCraftItemCancel; cancelMenuAction.menuIndex = NpcDialog.CRAFT_ITEM_CANCEL_MENU_INDEX; uiCraftItem.SetupForNpc(Data.itemCraft); menuActions.Add(startMenuAction); menuActions.Add(cancelMenuAction); } } break; case NpcDialogType.SaveRespawnPoint: if (onSwitchToSaveRespawnPointDialog != null) { onSwitchToSaveRespawnPointDialog.Invoke(); } UINpcDialogMenuAction saveRespawnPointConfirmAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction saveRespawnPointCancelAction = new UINpcDialogMenuAction(); saveRespawnPointConfirmAction.title = messageSaveRespawnPointConfirm; saveRespawnPointConfirmAction.menuIndex = NpcDialog.SAVE_SPAWN_POINT_CONFIRM_MENU_INDEX; saveRespawnPointCancelAction.title = messageSaveRespawnPointCancel; saveRespawnPointCancelAction.menuIndex = NpcDialog.SAVE_SPAWN_POINT_CANCEL_MENU_INDEX; menuActions.Add(saveRespawnPointConfirmAction); menuActions.Add(saveRespawnPointCancelAction); break; case NpcDialogType.Warp: if (onSwitchToWarpDialog != null) { onSwitchToWarpDialog.Invoke(); } UINpcDialogMenuAction warpConfirmAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction warpCancelAction = new UINpcDialogMenuAction(); warpConfirmAction.title = messageWarpConfirm; warpConfirmAction.menuIndex = NpcDialog.WARP_CONFIRM_MENU_INDEX; warpCancelAction.title = messageWarpCancel; warpCancelAction.menuIndex = NpcDialog.WARP_CANCEL_MENU_INDEX; menuActions.Add(warpConfirmAction); menuActions.Add(warpCancelAction); break; case NpcDialogType.PlayerStorage: if (onSwitchToPlayerStorageDialog != null) { onSwitchToPlayerStorageDialog.Invoke(); } UINpcDialogMenuAction playerStorageConfirmAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction playerStorageCancelAction = new UINpcDialogMenuAction(); playerStorageConfirmAction.title = messagePlayerStorageConfirm; playerStorageConfirmAction.menuIndex = NpcDialog.STORAGE_CONFIRM_MENU_INDEX; playerStorageCancelAction.title = messagePlayerStorageCancel; playerStorageCancelAction.menuIndex = NpcDialog.STORAGE_CANCEL_MENU_INDEX; menuActions.Add(playerStorageConfirmAction); menuActions.Add(playerStorageCancelAction); break; case NpcDialogType.GuildStorage: if (onSwitchToGuildStorageDialog != null) { onSwitchToGuildStorageDialog.Invoke(); } UINpcDialogMenuAction guildStorageConfirmAction = new UINpcDialogMenuAction(); UINpcDialogMenuAction guildStorageCancelAction = new UINpcDialogMenuAction(); guildStorageConfirmAction.title = messageGuildStorageConfirm; guildStorageConfirmAction.menuIndex = NpcDialog.STORAGE_CONFIRM_MENU_INDEX; guildStorageCancelAction.title = messageGuildStorageCancel; guildStorageCancelAction.menuIndex = NpcDialog.STORAGE_CANCEL_MENU_INDEX; menuActions.Add(guildStorageConfirmAction); menuActions.Add(guildStorageCancelAction); break; } // Menu if (uiMenuRoot != null) { uiMenuRoot.SetActive(menuActions.Count > 0); } CacheMenuList.Generate(menuActions, (index, menuAction, ui) => { UINpcDialogMenu uiNpcDialogMenu = ui.GetComponent <UINpcDialogMenu>(); uiNpcDialogMenu.Data = menuAction; uiNpcDialogMenu.uiNpcDialog = this; uiNpcDialogMenu.Show(); }); // Quest if (uiCharacterQuest != null) { if (quest == null) { uiCharacterQuest.Hide(); } else { uiCharacterQuest.Show(); } } // Shop if (uiSellItemRoot != null) { uiSellItemRoot.SetActive(sellItems.Count > 0); } CacheSellItemList.Generate(sellItems, (index, sellItem, ui) => { UINpcSellItem uiNpcSellItem = ui.GetComponent <UINpcSellItem>(); uiNpcSellItem.Setup(sellItem, index); }); // Craft Item if (uiCraftItem != null) { if (craftingItem == null) { uiCraftItem.Hide(); } else { uiCraftItem.Show(); } } }
public void CreateCharacterQuest(SqliteTransaction transaction, int idx, string characterId, CharacterQuest characterQuest) { ExecuteNonQuery(transaction, "INSERT INTO characterquest (id, idx, characterId, dataId, isComplete, killedMonsters, completedTasks) VALUES (@id, @idx, @characterId, @dataId, @isComplete, @killedMonsters, @completedTasks)", new SqliteParameter("@id", characterId + "_" + idx), new SqliteParameter("@idx", idx), new SqliteParameter("@characterId", characterId), new SqliteParameter("@dataId", characterQuest.dataId), new SqliteParameter("@isComplete", characterQuest.isComplete), new SqliteParameter("@killedMonsters", characterQuest.WriteKilledMonsters()), new SqliteParameter("@completedTasks", characterQuest.WriteCompletedTasks())); }
public void CreateCharacterQuest(MySqlConnection connection, MySqlTransaction transaction, int idx, string characterId, CharacterQuest characterQuest) { ExecuteNonQuerySync(connection, transaction, "INSERT INTO characterquest (id, idx, characterId, dataId, isComplete, isTracking, killedMonsters, completedTasks) VALUES (@id, @idx, @characterId, @dataId, @isComplete, @isTracking, @killedMonsters, @completedTasks)", new MySqlParameter("@id", characterId + "_" + idx), new MySqlParameter("@idx", idx), new MySqlParameter("@characterId", characterId), new MySqlParameter("@dataId", characterQuest.dataId), new MySqlParameter("@isComplete", characterQuest.isComplete), new MySqlParameter("@isTracking", characterQuest.isTracking), new MySqlParameter("@killedMonsters", characterQuest.WriteKilledMonsters()), new MySqlParameter("@completedTasks", characterQuest.WriteCompletedTasks())); }
public async UniTask CreateCharacterQuest(MySqlConnection connection, MySqlTransaction transaction, int idx, string characterId, CharacterQuest characterQuest) { await ExecuteNonQuery(connection, transaction, "INSERT INTO characterquest (id, idx, characterId, dataId, isComplete, killedMonsters) VALUES (@id, @idx, @characterId, @dataId, @isComplete, @killedMonsters)", new MySqlParameter("@id", characterId + "_" + idx), new MySqlParameter("@idx", idx), new MySqlParameter("@characterId", characterId), new MySqlParameter("@dataId", characterQuest.dataId), new MySqlParameter("@isComplete", characterQuest.isComplete), new MySqlParameter("@killedMonsters", WriteKillMonsters(characterQuest.killedMonsters))); }