public IQuest ReadQuest() { // if (dbConnection.State == ConnectionState.Closed) dbConnection.Open(); IDbCommand dbcmd = dbConnection.CreateCommand(); string sqlQuery = "SELECT * FROM Mission"; dbcmd.CommandText = sqlQuery; IDataReader reader = dbcmd.ExecuteReader(); IQuest currentQuest = null; if (reader.Read()) { currentQuest = QuestFactory.Instance().ParseQuest(reader); } reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; // if (dbConnection.State == ConnectionState.Open) dbConnection.Close(); if (currentQuest == null) { currentQuest = QuestFactory.Instance().GetQuest(); } return(currentQuest); }
private void FinishQuest() { if (currentQuest.IsFinish()) { // Claim Reward // Geneerate new Quest currentQuest = null; currentQuest = QuestFactory.Instance().GetQuest(); } }
public void OnQuestInput(QuestInputData data) { var newDis = data.GetValue(DistanceQuestInput.INPUT_DISTANCE); var newShare = data.GetValue(FacebookQuestInput.INPUT_SHARE); dbReader.totalDistance = Math.Max(newDis, dbReader.totalDistance); dbReader.totalShare = Math.Max((int)newShare, dbReader.totalShare); manager.UpdateQuest(data); if (manager.QuestIsFinish()) { dbReader.money += manager.GetQuest().rewardMoney; dbReader.exp += manager.GetQuest().rewardExp; manager.SetQuest(QuestFactory.Instance().GetQuest()); dbReader.SaveSimpleData(); } }