コード例 #1
0
    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);
    }
コード例 #2
0
 private void FinishQuest()
 {
     if (currentQuest.IsFinish())
     {
         // Claim Reward
         // Geneerate new Quest
         currentQuest = null;
         currentQuest = QuestFactory.Instance().GetQuest();
     }
 }
コード例 #3
0
    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();
        }
    }