Example #1
0
    public void AddProgressToAchievement(string achievementName, int progressAmount)
    {
        Quest achievement = GetAchievementByName(achievementName);

        if (achievement == null)
        {
            Debug.LogWarning("AchievementManager::AddProgressToAchievement() - Trying to add progress to an achievemnet that doesn't exist: " + achievementName);
            return;
        }

        if (achievement.AddProgress(progressAmount))
        {
            AchievementEarned();
        }
// espacio para salvar
    }
Example #2
0
    public Quest Find(string questID)
    {
        Quest quest = null;

        {
            Util.Sqlite.DataReader reader = Database.Execute(Database.Type.MetaData,
                                                             "SELECT quest_id, quest_name, reward_coin, reward_item_id, sprite_path FROM meta_quest WHERE quest_id='" + questID + "'"
                                                             );
            while (true == reader.Read())
            {
                quest                = new Quest();
                quest.quest_id       = reader.GetString("quest_id");
                quest.quest_name     = reader.GetString("quest_name");
                quest.sprite_path    = reader.GetString("sprite_path");
                quest.reward.coin    = reader.GetInt32("reward_coin");
                quest.reward.item_id = reader.GetString("reward_item_id");
            }

            if (null == quest)
            {
                throw new System.Exception("invalid quest(quest_id:" + questID + ")");
            }
        }
        {
            Util.Sqlite.DataReader reader = Database.Execute(Database.Type.MetaData,
                                                             "SELECT quest_step, progress_name, progress_type, progress_key, progress_goal FROM meta_quest_progress WHERE quest_id='" + questID + "' ORDER BY quest_step"
                                                             );
            while (true == reader.Read())
            {
                QuestProgress progress = new QuestProgress();
                progress.name  = reader.GetString("progress_name");
                progress.type  = reader.GetString("progress_type");
                progress.key   = reader.GetString("progress_key");
                progress.goal  = reader.GetInt32("progress_goal");
                progress.quest = quest;
                quest.AddProgress(reader.GetInt32("quest_step"), progress);
            }

            if (0 == quest.progresses.Count)
            {
                throw new System.Exception("quest progress count is 0(quest_id:" + questID + ")");
            }
        }
        {
            Util.Sqlite.DataReader reader = Database.Execute(Database.Type.MetaData,
                                                             "SELECT dialogue_type, dialogue_num, dialogue_text, sprite_path FROM meta_quest_dialogue WHERE quest_id='" + questID + "' ORDER BY dialogue_type, dialogue_num"
                                                             );
            while (true == reader.Read())
            {
                Quest.Dialogue dialogue = new Quest.Dialogue();
                dialogue.sprite_path = reader.GetString("sprite_path");
                dialogue.text        = reader.GetString("dialogue_text");
                int dialogueType = reader.GetInt32("dialogue_type");

                switch (dialogueType)
                {
                case 1:
                    quest.start_dialogues.Add(dialogue);
                    break;

                case 2:
                    break;

                case 3:
                    quest.complete_dialogues.Add(dialogue);
                    break;
                }
            }
        }

        return(quest);
    }