public Quest(IDatabasePreloader databasePreloader, DbCharacterQuest dbCharacterQuest) : this(databasePreloader, dbCharacterQuest.QuestId) { if (dbCharacterQuest.Delay > 0) { _endTime = DateTime.UtcNow.AddMinutes(dbCharacterQuest.Delay); _endTimer.Interval = dbCharacterQuest.Delay * 60 * 1000; _endTimer.Start(); } CountMob1 = dbCharacterQuest.Count1; CountMob2 = dbCharacterQuest.Count2; IsFinished = dbCharacterQuest.Finish; IsSuccessful = dbCharacterQuest.Success; }
internal async Task StartQuest(object[] args) { int charId = (int)args[0]; ushort questId = (ushort)args[1]; ushort remainingTime = (ushort)args[2]; var dbCharacterQuest = new DbCharacterQuest(); dbCharacterQuest.CharacterId = charId; dbCharacterQuest.QuestId = questId; dbCharacterQuest.Delay = remainingTime; _database.CharacterQuests.Add(dbCharacterQuest); await _database.SaveChangesAsync(); }
internal static async Task StartQuest(object[] args) { int charId = (int)args[0]; ushort questId = (ushort)args[1]; ushort remainingTime = (ushort)args[2]; using var database = DependencyContainer.Instance.Resolve <IDatabase>(); var dbCharacterQuest = new DbCharacterQuest(); dbCharacterQuest.CharacterId = charId; dbCharacterQuest.QuestId = questId; dbCharacterQuest.Delay = remainingTime; database.CharacterQuests.Add(dbCharacterQuest); await database.SaveChangesAsync(); }