コード例 #1
0
    public List<Quest> LoadQuests()
    {
        if (PlayerPrefs.HasKey("PlayerQuests")) {

            _quest = new Quest (null, null, null, -1, null);
            List<Quest> quests = new List<Quest> ();
            JSONNode loadedQuests = JSONClass.Parse (PlayerPrefs.GetString ("PlayerQuests"));

            for (int i = 0; i < loadedQuests["Quests"].Count; i++) {

                int[] progress = new int[loadedQuests ["Quests"] [i].Count];

                for (int j = 0; j < loadedQuests["Quests"][i].Count; j++) {
                    progress [j] = loadedQuests ["Quests"] [i] [j].AsInt;
                }

                Quest newQuest = _quest.AddQuestFromSave (loadedQuests ["Quests"] [i].AsInt, progress);
                quests.Add (newQuest);
            }
            return quests;

        }

        return null;
    }
コード例 #2
0
 void Start()
 {
   shoot_first = new Quest();
   Objective first_objective = new EliminationObjective("Hover Droid", 3);
   shoot_first.objectives.Add(first_objective);
   shoot_first.startQuest();
 }
コード例 #3
0
ファイル: NForm.cs プロジェクト: windrobin/kumpro
        private void tsbRefresh_Click(object sender, EventArgs e) {
            lvl.Items.Clear();

            foreach (String ips in IPList) {
                String ip = ips.Trim();
                if (ip.Length == 0) continue;

                ListViewItem lvi = new ListViewItem(ip);
                lvi.SubItems.Add("調査中");
                lvi.SubItems.Add("");
                lvl.Items.Add(lvi);
                lvi.Name = Guid.NewGuid().ToString("N");

                IPAddress addr = IPAddress.Parse(ip);

                Quest a = new Quest(addr, lvi.Name);

                BackgroundWorker bwStat = new BackgroundWorker();
                bwStat.DoWork += new DoWorkEventHandler(bwStat_DoWork);
                bwStat.RunWorkerAsync(a);

                BackgroundWorker bwName = new BackgroundWorker();
                bwName.DoWork += new DoWorkEventHandler(bwName_DoWork);
                bwName.RunWorkerAsync(a);
            }
        }
        public QuestRealtimeProgressViewModel(Quest rpQuest)
        {
            r_Quest = rpQuest;

            DecreaseCommand = new DelegatedCommand(Decrease, CanDecrease);
            IncreaseCommand = new DelegatedCommand(Increase, CanIncrease);
        }
コード例 #5
0
ファイル: Task.cs プロジェクト: neozman/JunctionBox
    //Инициализация задания
    public void Init(Quest parentQuest)
    {
        _parentQuest = parentQuest;

        //Если задание было загружено с диска, то необходима проверка на его завершенность. Если задание завешенное, то вызываем событие о выполнение данного задания.
        if (_taskTargetsAmountCounter >= _taskTargetsAmount && TaskTargetsAmount > 0)
        {
            _status = true;
            _taskTargetsAmountCounter = _taskTargetsAmount;
            _parentQuest.OnTaskChange();
            return;
        }

        switch(EventType)
        {
            case "UnitDied":
                EventHub<EntityDiedEventArgs>.EventHappened += OnEventDiedHandler;
                break;
            case "ItemPicked":
                EventHub<EntityItemPickedUpEventArgs>.EventHappened += OnEventPick;
                break;
            case "PositionMoved":
                EventHub<EntityIsCloseToPlayer>.EventHappened += OnPositionMoved;
                break;
        }
    }
コード例 #6
0
        /// <summary>
        /// Creates a new QuestDetailsScreen object.
        /// </summary>
        public QuestDetailsScreen(Quest quest)
            : base()
        {
            // check the parameter
            if (quest == null)
            {
                throw new ArgumentNullException("quest");
            }
            if (quest.AssetName.Contains("SaveMercadia") && !AudioManager.TitlePlayed)
            {
                AudioManager.TitlePlayed = false;
				//TEMP COMMENT
				//AudioManager.PlaySong(quest.AssetName.Replace("Quests\\", "") + "Begin");
        
            }
            this.quest = quest;
            this.IsPopup = true;

            currentDialogue = new List<Line>();
            maxLines = 13;

            textPosition.X = 261f;
            quest.Name = CheckAdult.parseContent(quest.Name);
            quest.Description = CheckAdult.parseContent(quest.Description);
            quest.ObjectiveMessage = CheckAdult.parseContent(quest.ObjectiveMessage);
            quest.CompletionMessage = CheckAdult.parseContent(quest.CompletionMessage);

            AddStrings(this.quest.Name,
                Fonts.BreakTextIntoList(this.quest.Description,
					Fonts.DescriptionFont, 715), GetRequirements(this.quest));
        }
コード例 #7
0
ファイル: UIQuestManager.cs プロジェクト: tsss-t/SimpleStory
    void UpdateQuest()
    {
        selectQuest = null;
        playerQuest = PlayerState._instance.GetPlayerQuest();
        for (int i = 0; i < questShowList.Count; i++)
        {
            NGUITools.Destroy(questShowList[i]);
        }
        questShowList.Clear();

        foreach (KeyValuePair<int, Quest> item in playerQuest.GetAcceptQuestList())
        {
            if (selectQuest == null)
            {
                selectQuest = item.Value;
            }
            if (!item.Value.isOver)
            {
                goQuest = NGUITools.AddChild(containQuestGrid, prefabQuestButton);
                goQuest.transform.Find("Title").GetComponent<UILabel>().text = string.Format("Quest:{0}", item.Value.info.name);
                goQuest.transform.Find("Doing").GetComponent<UILabel>().text = string.Format("Doing : Step {0}", item.Value.stepNow);
                goQuest.name = item.Key.ToString();
                questShowList.Add(goQuest);
            }
        }

        containQuestGrid.GetComponent<UIGrid>().enabled = true;

        UpdateStep();
    }
コード例 #8
0
ファイル: QuestParser.cs プロジェクト: Darthoul/cena_gamejam
	protected override void CallOnNode (ref string name, List<ParserValue> pairs) {

		if (name == "Quests/Quest") {
			quest = Quest.Create (pairs [0].value);
			QuestArchive.Add(quest);
		}
		if (name == "Quests/Quest/Task") {
			if (pairs.Count <= 3) {
				quest.AddTask (pairs [0].value, pairs [1].value, int.Parse(pairs [2].value));
			} else {
				quest.AddTask (pairs [0].value, pairs [1].value, int.Parse(pairs [3].value), pairs[2].value);
			}
		}
		if (name == "Quests/Quest/Activates") {
			foreach (ParserValue pair in pairs) {
				quest.toActivateIds.Add(pair.value);
			}
		}
		if (name == "Quests/Quest/Adventure/Call") {
			quest.AddCall(pairs [0].value);
		}
		if (name == "Quests/Quest/Adventure/Call/ActivateParams") {
			for (int i = 0; i < pairs.Count; i++) {
				quest.calls [quest.calls.Count - 1].activateParams.Add (pairs [i].value);
			}
		}
	}
コード例 #9
0
ファイル: Quest.cs プロジェクト: Acerkacke/Indagatore
 public object Clone()
 {
     Obiettivo[] oviettivi = ClonaObiettivi(obiettivi);
     Quest q =  new Quest(titolo,descrizione,oviettivi);
     q.name = name + "Clone";
     return q;
 }
コード例 #10
0
 //When we need to add a quest to the Quest list, we do it here.
 public void AddQuest(int OverallID)
 {
     if (CurrentQuest == null)
     {
         //Sets a current quest if we don't have one.
         for (int i = 0; i < QList.Count; i++)
         {
             if (QList [i].OverallID == OverallID)
             {
                 CurrentQuest = QList [i];
                 CurrentQuest.CurrentQuest = true;
                 if (OnQuestGet != null)
                 {
                         OnQuestGet ();
                 }
                 UpdateQuest (OverallID);
                 return;
             }
         }
     }
     else
     {
         //Else just add the quest to the list/quest log.
         for (int i = 0; i < QList.Count; i++)
         {
             if (QList [i].OverallID == OverallID)
             {
                 QuestList.Add (QList [i]);
                 return;
             }
         }
     }
 }
コード例 #11
0
	void Awake() {

		//Stores Quests so they can be accessed via Quest title
		quests = new List<Quest> ();
		
		//Finds all objects tagged as Quests and stores them in array of GameObjects
		GameObject[] questObjs = GameObject.FindGameObjectsWithTag ("Quest");

		//Add all quests into List of quests
		foreach (GameObject questObj in questObjs) {
			Quest temp = questObj.GetComponent<Quest>();
			quests.Add(temp);
		}
	
		//TODO - Allow for multiple quests in one scene
		//If only one quest in scene, make it active	
		if (quests.Count == 1) {
			currentQuest = quests [0];
		} else {
			foreach (Quest q in quests) {
				if(q.questNumber == 0) {
					currentQuest = q;
				}
			}
		}

		UIManager.setObjectiveText (currentQuest.getObjective ().getObjectiveText ());

		playerController = player.GetComponent<PlayerController> ();

	}
コード例 #12
0
	void Start(){

		#region コンポーネント取得.
		// Timer取得.
		GameTimer = GameObject.FindGameObjectWithTag ("Timer").GetComponent<Timer>();

		// Quest取得.
		quest = GameObject.FindGameObjectWithTag ("Quest").GetComponent<Quest> ();

		// Player取得.
		player = GameObject.FindGameObjectWithTag("Player").GetComponent<Player>();

		enemyFactory = EnemyFactory.Instance;
		#endregion

		#region イベント登録.
		// Timerのイベント登録.
		GameTimer.TimeEndEvent += E_TimeOver;

		// プレイヤーが死んだ時のイベント登録.
		player.die += GameOver;

		// ゲームクリアー時のイベント登録.
		quest.EndQuestEvent += GameClear;
		#endregion

		// ゲームスタート時のカットシーンスタート.
		StartCoroutine (GameStart_CutScene());

	}
コード例 #13
0
    new void Start(){
		inventoryPanel = GameObject.Find(panel_name);
        slotPanel = GameObject.Find("NPC_Slot_Panel");
        openText = GameObject.Find("NPC_Text").GetComponent<Text>();
        openText.transform.gameObject.SetActive(false);

        playerInventory = GameConstants.findPlayerInProject().GetComponent<ToonCharacter_Inventory>();

        inventoryPanel.SetActive(false);

        if (slots == null) {
            slots = new List<GameObject>();
        }

        for (int i = 0; i < npcInventoryAmount; i++) {
            slots.Add(Instantiate(inventorySlot));
            slots[i].transform.SetParent(slotPanel.transform);
        }

        lootIDs = GameObject.Find("RolePlayItems").GetComponent<ListWeapons>().getWeapons().Count;
        for (int i = 0; i < npcInventoryAmount; i++) {
            AddWeaponWithID(randomizer.Next(lootIDs), i);
        }

        NPC_Quest = new KillQuest(KillType.Skeleton,
                                          3,
                                          "Hallo, ein paar Skelette haben mich vermöbelt und ich brauche dringend eure Hilfe um mich an Ihnen zu rächen. Bitte Töte ein paar Skelette für mich \n\n Töte " + 3 + " Skelette",
                                          1000,
                                          1000,
                                          null);
    }
コード例 #14
0
    public static bool StartQuest(Quest quest, bool ignoreRequirements = false)
    {
        if (!ignoreRequirements && (GetCurrentQuest() != null || !quest.Check())) return false;

        quest.Status = QuestStatus.Started;
        return true;
    }
コード例 #15
0
ファイル: HomeScreen.cs プロジェクト: bradur/FGJ-2016
    public void CheckOrStartQuest(bool isComplete)
    {
        if (isComplete)
        {
            currentQuest = quests[0];

            quests.RemoveAt(0);
            if (quests.Count > 0) {
                if (questnum > 0)
                {
                    txtComponent.text = "Quest complete!";
                    questStorytxt.text = currentQuest.EndDescription;
                    waitForConfirm = true;
                    GameManager.main.Player.GetComponent<PCMovement>().DisallowConfirm();
                }
                else
                {
                    NextQuest();
                }
            }
            else
            {
                questTitletxt.text = "The End";
                questStorytxt.text = "You have mastered the art of voodoo. Now go, my apprentice, and make the world yours!";
                txtComponent.text = "The end. You're now the voodoo master!";
            }
            questnum++;
        }
        else
        {
            txtComponent.text = "Your quest is not yet complete!";
        }
    }
コード例 #16
0
	public static bool IsPassRequirements(Quest quest)
	{
		if (QuestsController.reference.CheckRequirements(quest))
			return true;
		return false;
			
	}
コード例 #17
0
 /// <summary>
 ///     Composes the specified session.
 /// </summary>
 /// <param name="session">The session.</param>
 /// <param name="quest">The quest.</param>
 /// <returns>ServerMessage.</returns>
 internal static ServerMessage Compose(GameClient session, Quest quest)
 {
     var amountOfQuestsInCategory = Azure.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(quest.Category);
     var i = (quest == null) ? amountOfQuestsInCategory : quest.Number;
     var i2 = (quest == null) ? 0 : session.GetHabbo().GetQuestProgress(quest.Id);
     var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("QuestCompletedMessageComposer"));
     serverMessage.AppendString(quest.Category);
     serverMessage.AppendInteger(i);
     serverMessage.AppendInteger(quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory);
     serverMessage.AppendInteger((quest == null) ? 3 : quest.RewardType);
     serverMessage.AppendInteger((quest == null) ? 0u : quest.Id);
     serverMessage.AppendBool(quest != null && session.GetHabbo().CurrentQuestId == quest.Id);
     serverMessage.AppendString((quest == null) ? string.Empty : quest.ActionName);
     serverMessage.AppendString((quest == null) ? string.Empty : quest.DataBit);
     serverMessage.AppendInteger((quest == null) ? 0 : quest.Reward);
     serverMessage.AppendString((quest == null) ? string.Empty : quest.Name);
     serverMessage.AppendInteger(i2);
     serverMessage.AppendInteger((quest == null) ? 0u : quest.GoalData);
     serverMessage.AppendInteger((quest == null) ? 0 : quest.TimeUnlock);
     serverMessage.AppendString("");
     serverMessage.AppendString("");
     serverMessage.AppendBool(true);
     serverMessage.AppendBool(true);
     return serverMessage;
 }
コード例 #18
0
ファイル: QuestListComposer.cs プロジェクト: BjkGkh/Mercury
		internal static void SerializeQuest(ServerMessage Message, GameClient Session, Quest Quest, string Category)
		{
			if (Message == null || Session == null)
			{
				return;
			}
			int amountOfQuestsInCategory = MercuryEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category);
			checked
			{
				int num = (Quest == null) ? amountOfQuestsInCategory : (Quest.Number - 1);
				int num2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
				if (Quest != null && Quest.IsCompleted(num2))
				{
					num++;
				}
				Message.AppendString(Category);
				Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : num));
				Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : amountOfQuestsInCategory));
				Message.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
				Message.AppendUInt((Quest == null) ? 0u : Quest.Id);
				Message.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
				Message.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
				Message.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
				Message.AppendInt32((Quest == null) ? 0 : Quest.Reward);
				Message.AppendString((Quest == null) ? string.Empty : Quest.Name);
				Message.AppendInt32(num2);
				Message.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
				Message.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
				Message.AppendString("");
				Message.AppendString("");
				Message.AppendBoolean(true);
			}
		}
コード例 #19
0
		internal static ServerMessage Compose(GameClient Session, Quest Quest)
		{
			int amountOfQuestsInCategory = MercuryEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category);
			int i = (Quest == null) ? amountOfQuestsInCategory : Quest.Number;
			int i2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
			ServerMessage serverMessage = new ServerMessage(Outgoing.QuestCompletedMessageComposer);
			serverMessage.AppendString(Quest.Category);
			serverMessage.AppendInt32(i);
			serverMessage.AppendInt32(Quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory);
			serverMessage.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
			serverMessage.AppendUInt((Quest == null) ? 0u : Quest.Id);
			serverMessage.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
			serverMessage.AppendInt32((Quest == null) ? 0 : Quest.Reward);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.Name);
			serverMessage.AppendInt32(i2);
			serverMessage.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
			serverMessage.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
			serverMessage.AppendString("");
			serverMessage.AppendString("");
			serverMessage.AppendBoolean(true);
			serverMessage.AppendBoolean(true);
			return serverMessage;
		}
コード例 #20
0
	// Use this for initialization
	void Start () {

        var q0 = new Quest("bed", "Wakey wakey eggs and bakey. Rise and shine!", true);
        q0.AddObjective(new Objective("leaveBed"));
        quests.Add(q0);

        var q1 = new Quest("wakeup", "Clock is ringing, you should do something about that", true);
        q1.AddObjective(new Objective("shootAlarm"));
        quests.Add(q1);

        var q2 = new Quest("shower", "Shower without your dad", false);
        q2.AddObjective(new Objective("shower"));
        quests.Add(q2);

        var q4 = new Quest("bacon", "Bakin' bacon pancakes", false);
        q4.AddObjective(new Objective("shootFridge"));
        q4.AddObjective(new Objective("getBacon"));
        q4.AddObjective(new Objective("putBaconOnOven"));
        q4.AddObjective(new Objective("heatOven"));
        q4.AddObjective(new Objective("fryBacon"));
        quests.Add(q4);

        var q5 = new Quest("car", "Get to work", false);
        q5.completesLevel = true;
        q5.AddObjective(new Objective("getInCar"));
        quests.Add(q5);

        player = FindObjectOfType<Player>();
        TrapPlayer();
	}
コード例 #21
0
        public void FindQuest_RewardAssociatedToItem_ItemShouldMatch()
        {
            var quest = new Quest { Name = "Test Quest #1" };
            var item = new Item { Name = "Item #1" };

            using (var db = new QuestManagerContext())
            {
                quest.Name = "Test Quest #1";
                quest.Rewards = new List<Reward>
                {
                    new Reward{Type = "item", Quantity = 1, Item = item },
                };
                db.Quests.Add(quest);
                db.SaveChanges();
            }

            using (var db = new QuestManagerContext())
            {
                var actualQuest = db.Quests.Find(quest.QuestId);

                Assert.AreEqual(1, actualQuest.Rewards.Count);
                Assert.AreEqual(item.ItemId, actualQuest.Rewards.ElementAt(0).Item.ItemId);
                Assert.AreEqual(item.Name, actualQuest.Rewards.ElementAt(0).Item.Name);
            }
        }
コード例 #22
0
ファイル: QuestListComposer.cs プロジェクト: sgf/Yupi
        /// <summary>
        ///     Serializes the quest.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="session">The session.</param>
        /// <param name="quest">The quest.</param>
        /// <param name="category">The category.</param>
        internal static void SerializeQuest(ServerMessage message, GameClient session, Quest quest, string category)
        {
            if (message == null || session == null)
            {
                return;
            }
            var amountOfQuestsInCategory = Yupi.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(category);

            {
                var num = quest == null ? amountOfQuestsInCategory : quest.Number - 1;
                var num2 = quest == null ? 0 : session.GetHabbo().GetQuestProgress(quest.Id);
                if (quest != null && quest.IsCompleted(num2))
                {
                    num++;
                }
                message.AppendString(category);
                message.AppendInteger(quest == null ? 0 : (quest.Category.Contains("xmas2012") ? 0 : num));
                message.AppendInteger(quest == null
                    ? 0
                    : (quest.Category.Contains("xmas2012") ? 0 : amountOfQuestsInCategory));
                message.AppendInteger(quest?.RewardType ?? 3);
                message.AppendInteger(quest?.Id ?? 0);
                message.AppendBool(quest != null && session.GetHabbo().CurrentQuestId == quest.Id);
                message.AppendString(quest == null ? string.Empty : quest.ActionName);
                message.AppendString(quest == null ? string.Empty : quest.DataBit);
                message.AppendInteger(quest?.Reward ?? 0);
                message.AppendString(quest == null ? string.Empty : quest.Name);
                message.AppendInteger(num2);
                message.AppendInteger(quest?.GoalData ?? 0u);
                message.AppendInteger(quest?.TimeUnlock ?? 0);
                message.AppendString(string.Empty);
                message.AppendString(string.Empty);
                message.AppendBool(true);
            }
        }
コード例 #23
0
	public void Start()
    {
        Quest q = new Quest("Q01");
        q.title = "Carte SD de AI";
        q.objective = "AI a perdu des documents précieux. Je dois retrouver la carte SD.";
        quests.Add(q);
    }
コード例 #24
0
    public void Initialize(Quest quest)
    {
        if(objectivesHeader != null)
        {
            objectivesHeader.text = "OBJECTIVES";
        }
        if(questName != null)
        {
            questName.text = quest.questName.ToUpper();
        }
        if(description != null)
        {
            description.text = quest.description;
        }

        // Destroy all children
        for (int i = 0; i < objectivesListTransform.childCount; i++)
        {
            Destroy(objectivesListTransform.GetChild(i).gameObject);
        }

        // Add objectives to list
        foreach (Objective obj in quest.objectives)
        {
            ObjectiveDisplay display = Instantiate(objectiveDisplayPrefab) as ObjectiveDisplay;
            display.transform.SetParent(objectivesListTransform, false);
            display.Initialize(obj);
        }
    }
コード例 #25
0
 //Создаем кнопку "Забрать лут"
 private void CreateClaimButton(Quest q)
 {
     GameObject claimButton = Instantiate(UIClaimRewardButtonPrefab) as GameObject;
     claimButton.transform.parent = UIQuestLootPanel.transform;
     claimButton.GetComponent<RectTransform>().anchoredPosition = UIClaimRewardButtonPrefab.GetComponent<RectTransform>().anchoredPosition;
     claimButton.GetComponent<Button>().onClick.AddListener(() => Debug.Log(q.Loot + " gold is claimed!"));
 }
コード例 #26
0
ファイル: ChatPanel.cs プロジェクト: darrare/3100
 public void OpenChatPanel(Sprite image, string dialog, Quest quest)
 {
     isActive = true;
     chatPanel.SetActive (true);
     this.image.sprite = image;
     this.dialog.text = dialog;
     this.quest = quest;
 }
コード例 #27
0
ファイル: QuestManager.cs プロジェクト: weimingtom/isilme
        public void Add(Quest quest)
        {
            mQNamespace.Add(quest, quest.ID);

            // Оповестить наблюдателей
            if (QuestAdded != null)
                QuestAdded(quest);
        }
コード例 #28
0
ファイル: Quest.cs プロジェクト: znickz59/RPG
 public void NextQuest()
 {
     currentQuest = new XmlReader().Read(new XmlReader().LoadFile("QuestsDescription"), nextQuestId);
     questId = currentQuest.questId;
     title = currentQuest.title;
     description = currentQuest.description;
     nextQuestId = currentQuest.nextQuestId;
 }
コード例 #29
0
 public static ArrowTaskOverlay CreateQuestArrow(Transform point, Color color, Quest quest)
 {
     var arrow = QuestTasksPool.Instance.GetObjectFromPool<ArrowTaskOverlay>();
     arrow.Quest = quest;
     arrow.TargetTransform = point;
     arrow.gameObject.SetActive(true);
     return arrow;
 }
コード例 #30
0
 // Use this for initialization
 void Start()
 {
     if (ind < book.allQuests.Length)
     {
         quete = book.allQuests[ind];
     }
     
 }
コード例 #31
0
 private void OnQuestCompleted(Quest quest)
 {
     //destroy quest display and remove quest from quests display if completed
     Destroy(quests[quest].gameObject);
     quests.Remove(quest);
 }
コード例 #32
0
ファイル: RestoreNpc.cs プロジェクト: toddkc/daggerfall-unity
 public RestoreNpc(Quest parentQuest)
     : base(parentQuest)
 {
 }
コード例 #33
0
    // Use this for initialization
    void Start()
    {
        NPCStatus ponlatatStatus  = ponlatatNPC.GetComponent <NPCStatus>();
        NPCStatus todzagunStatus  = TodZaGunNPC.GetComponent <NPCStatus>();
        NPCStatus sangahtidStatus = SangAhTidNPC.GetComponent <NPCStatus>();
        NPCStatus maleeStatus     = MaleeNPC.GetComponent <NPCStatus>();
        //Ponlatat
        QuestCondition pcond     = new QuestCondition(2, 10004, 3);                                                                                           // ฆ่า สามล้อ 3 คัน
        Conversation   q1openCon = new Conversation(new string[] { "รบกวนช่วยปราบสามล้อคลั่ง ที่อาละวาดอยู่นอกเมืองด้วยเถอะ", "ชาวเมืองเดือดร้อนกันมากเลย" }, // Dialogue
                                                    new AudioClip[] { ponlatatNPCVoice[0], ponlatatNPCVoice[1] });                                            // open Quest
        Conversation q1inproCon = new Conversation(new string[] { "หากจะออกไปนอกเมืองละก็ มันค่อนข้างไกลนะ ลองขึ้นป้ายรถเมล์หน้าวัดดูซิ" },
                                                   new AudioClip[] { ponlatatNPCVoice[2] });                                                                  // in process Quest
        Conversation q1doneCon = new Conversation(new string[] { "ขอบคุณมากเลยโยม เจริญพร" },
                                                  new AudioClip[] { ponlatatNPCVoice[3] });                                                                   // done Quest
        Quest q1 = new Quest(1, "กำจัดสามล้อนอกเมือง", "กำจัดสามล้อที่อยู่นอกเมืองจำนวน 3 คัน", "Test Place Detail", null, pcond, 100, new Conversation[3] {
            q1openCon, q1inproCon, q1doneCon
        });

        q1.rewardEXP = 50;
        ponlatatStatus.questList.Add(q1);
        //Ponlatat


        // แสงอาทิตย์
        QuestCondition scond        = new QuestCondition(1, 110, 0);                                                                                                                                                                                                // เดินไปหายักษ์ทศกัณฑ์
        Conversation   q2openCon    = new Conversation(new string[] { "ท่านช่วยข้ามแม่น้ำเจ้าพระยาที่อยู่ถัดจากที่นี่ ไปยังวัดอรุณเพื่อเจรจาบอกทศกัณฑ์ ยักษ์เขียวที่อยู่ที่นั่นให้หน่อยสิว่าตอนนี้ ข้ายังไม่พร้อมคืนเงินที่เคยติดไว้ ", "รบกวนช่วยข้าหน่อยนะ !" }); // open Quest // No sound
        Conversation   q2inproCon   = new Conversation(new string[] { "เจ้ายักษ์ทเขียวนั่นอยู่ที่วัดอรุณ ตรงข้ามแม่น้ำเจ้าะพระยาหน่ะ :3" });                                                                                                                        // in process Quest // No sound
        Conversation   q2doneCon    = new Conversation(new string[] { "อิอิ may be not use" });                                                                                                                                                                     // done Quest
        Conversation   q2recieveCon = new Conversation(new string[] { "หืม เจ้ากำลังตามหายักษ์เขียวอยู่งั้นหรือ", "ข้านี่แหละยักษ์เขียว ทศกัณฑ์" },
                                                       new AudioClip[] { TodZaGunNPCVoice[0], TodZaGunNPCVoice[1] });                                                                                                                                               // receiver Quest

        Quest q2 = new Quest(2, "การผ่อนผันหนี้ของพญาแสงอาทิตย์", "รบกวนเจ้าไปบอกผ่อนผันหนี้ของข้ากับเจ้ายักษ์ทศกัณฑ์ที่อยู่วัดแจ้งให้หน่อยสิ :3", "Test Place Detail", new Quest[1] {
            q1
        }, scond, sangahtidStatus.NPCID,
                             new Conversation[4] {
            q2openCon, q2inproCon, q2doneCon, q2recieveCon
        }, todzagunStatus.NPCID);

        sangahtidStatus.questList.Add(q2);

        /*sangahtidStatus.conversation = new Conversation[1] { new Conversation(new string[2] { "สวัสดีท่านนักเดินทาง ข้าฝากไหว้วานท่านช่วยข้าสักเรื่องทีได้ไหม",
         *  "ท่านช่วยข้ามแม่น้ำเจ้าพระยาที่อยู่ถัดจากที่นี่ ไปยังวัดอรุณเพื่อเจรจาบอกทศกัณฑ์ ยักษ์เขียวที่อยู่ที่นั่นให้หน่อยสิว่าตอนนี้ ข้ายังไม่พร้อมคืนเงินที่เคยติดไว้ รบกวนช่วยข้าหน่อยนะ !" }) };*/
        // แสงอาทิตย์ */
        // ทศกัณฑ์
        QuestCondition tcond     = new QuestCondition(3, 10001, 1);                              // ฆ่าทศกัณฑ์ (Boss id 10001) 1 ตัว
        Conversation   q3openCon = new Conversation(new string[] { "ว่าไงนะ นี่เจ้ามาผ่อนผันเรื่องหนี้แทนอย่างนั้นหรือ ตกลงนี่เจ้าเป็นพวกของยักษ์วัดโพธิ์อย่างนั้นสินะ เห็นทีข้าคงปล่อยเจ้าไปไม่ได้แล้ว" },
                                                    new AudioClip[] { TodZaGunNPCVoice[3] });    // open Quest
        Conversation q3inproCon = new Conversation(new string[] { "ต้องประลองกันสักตั้งแล้ว" }); // in process Quest
        Conversation q3doneCon  = new Conversation(new string[] { "ท่านแข็งแกร่งมากจริงๆ ท่านเป็นใครมาจากไหนหรือ", "อา…งั้นท่านก็ไม่ใช่พวกของยักษ์วัดโพธิ์สินะ ข้าต้องขออภัยจริงๆที่ไปหาเรื่องท่าน",
                                                                  "ที่จริงแล้วข้ากับพญาแสงอาทิตย์ ยักษ์ที่เฝ้าอยู่วัดโพธิ์นั้นเป็นเพื่อนรักกันมาก่อน วันหนึ่งยักษ์วัดโพธิ์ข้ามแม่น้ำเจ้าพระยามาขอยืมเงินข้า", "โดยบอกว่าจะนำเงินมาส่งข้าครบทุกจำนวน แต่วันเวลาผ่านไปข้ากลับไม่ได้เงินนั้นเสียที",
                                                                  "แต่เรื่องหนี้เป็นเรื่องของพวกข้าสองตน ดังนั้นข้าคิดว่าข้าต้องไปจัดการปัญหานี้ด้วยตนเอง เห็นทีคงปล่อยเจ้ายักษ์นั่นไปไม่ได้เสียแล้ว!" },
                                                   new AudioClip[] { TodZaGunNPCVoice[4], TodZaGunNPCVoice[5], TodZaGunNPCVoice[6], TodZaGunNPCVoice[7], TodZaGunNPCVoice[8] });// done Quest

        q3doneCon.fade = true;
        Quest q3 = new Quest(3, "การเจรจากับยักษ์วัดแจ้ง", "ข้าเองแหละ ยักษ์ทศกัณฑ์", "Test Place Detail", new Quest[1] {
            q2
        } /*null*/, tcond, todzagunStatus.NPCID, new Conversation[3] {
            q3openCon, q3inproCon, q3doneCon
        });

        todzagunStatus.questList.Add(q3);

        /*todzagunStatus.conversation = new Conversation[1] { new Conversation(new string[] { "ท่านมีธุระอะไรกับข้าหรือ",
         *  "ว่าไงนะ นี่เจ้ามาผ่อนผันเรื่องหนี้แทนอย่างนั้นหรือ ตกลงนี่เจ้าเป็นพวกของยักษ์วัดโพธิ์อย่างนั้นสินะ เห็นทีข้าคงปล่อยเจ้าไปไม่ได้แล้ว" }) };*/
        // ทศกัณฑ์ */
        // มาลี
        QuestCondition mcond     = new QuestCondition(1, 110, 0);
        Conversation   q4openCon = new Conversation(new string[] { "ขอบคุณมากเลยค่ะ ยักษ์วัดแจ้งกับยักษ์วัดโพธิ์มีพละกำลังมหาศาลมากถ้าคุณพี่ไม่ช่วย ต้นไม้ใบหญ้าบริเวณนั้นต้องราบเรียบเตียนหมดแน่ๆ",
                                                                   "โอม นะมัส ศิวายะ นี่เป็นบทสวดบูชาพระอิศวร คุณพี่ช่วยท่องบทสวดนี้เพื่ออัญเชิญให้พระอิศวร ช่วยมาห้ามปรามยักษ์ทั้งสองตนทีได้ไหม", "พระอิศวรท่านมีอำนาจมาก ท่านต้องช่วยไม่ให้บ้านเมืองเราโดนทำลายแน่นอนค่ะ ช่วยทีนะคะ" }
                                                    );                                                                                                // open Quest // No sound
        Conversation q4inproCon   = new Conversation(new string[] { "เร็วเข้า ยักษ์ทั้ง 2 ตนกำลังสู้อยู่ที่ท่าเตียน ฝั่งตรงข้ามแม่น้ำเจ้าพระยา.." }); // in process Quest // No sound
        Conversation q4doneCon    = new Conversation(new string[] { "not use malee 0" });                                                             // done Quest
        Conversation q4recieveCon = new Conversation(new string[] { "โอม นะมัส ศิวายะ", "อา… ไม่นะ นั่นพระอิศวรนี่ ได้โปรดอย่าทำอะไรข้าเลย", "ได้โปรดท่านผู้เมตตา อย่าสาปข้าให้เป็นหินเลย ข้าผิดไปแล้ว อ๊ากกกกก.." },
                                                     new AudioClip[] { null, TodZaGunNPCVoice[9], SangAhTidNPCVoice[0] });                            // receiver Quest

        q4recieveCon.fade = true;
        Quest q4 = new Quest(4, "ช่วยบ้านเมืองเราที", "มาลีไหว้วานให้เราห้ามศึกครั้งนี้ โดยที่ให้ไปค้นหาบทอัญเชิญพระศิวะผู้มีพลังในการสาปยักษ์ทั้งคู่ให้เป็นหินได้ โดยบทสวดสามารถหาได้จากมอนสเตอร์ในบริเวณใกล้เคียง เมื่อหาได้ให้ไปร่ายบทอัญเชิญกับยักษ์ จะมีออร่าเหมือนพระศิวะปรากฏขึ้นมาแล้วจะสามารถสาปยักษ์ให้เป็นหินได้"
                             , "Test Place Detail", new Quest[1] {
            q3
        }, mcond, maleeStatus.NPCID, new Conversation[4] {
            q4openCon, q4inproCon, q4doneCon, q4recieveCon
        }, todzagunStatus.NPCID);


        QuestCondition mcond2     = new QuestCondition(0, maleeStatus.NPCID, 0);          // รายงานหนูมาลี
        Conversation   q5openCon  = new Conversation(new string[] { "not use malee 1" }); // open Quest
        Conversation   q5inproCon = new Conversation(new string[] { "not use malee 2" }); // in process Quest
        Conversation   q5doneCon  = new Conversation(new string[] { "ขอบคุณคุณพี่มากๆเลยนะคะ ที่ช่วยกอบกู้บ้านเมืองของเราไว้ได้ ถึงแม้ว่าพื้นที่แห่งนั้นจะถูกทำลายจนราบเรียบเป็นหน้ากลองก็ตามที",
                                                                    "จากนี้ที่นี่คงเป็นตำนานการต่อสู้กันของยักษ์ทั้งสองวัดที่โดน สาปเป็นหินด้วยอำนาจของพระอิศวร ซึ่งชาวบ้านแถวนี้ต่างพากันเรียกสถานที่แห่งนั้นว่า ท่าเตียน ", "แต่หนูมาลีคิดว่าที่นี่จะเป็นตำนานให้คนรุ่นหลังมา ศึกษาต่อแน่นอนค่ะต่อจากนี้พวกเราจะช่วยกัน ดูแลรักษาบ้านเมืองให้น่าอยู่ขอบคุณคุณพี่มากนะคะ " },
                                                     new AudioClip[] { MaleeNPCCVoice[0], MaleeNPCCVoice[1], MaleeNPCCVoice[2] });// done Quest
        Quest q5 = new Quest(5, "กลับไปหาหนูมาลี", "ยักษ์ยุติการต่อสู้กันแล้ว ต้องรีบไปบอกหนูมาลี", "Test Place Detail", null, mcond2, maleeStatus.NPCID, new Conversation[3] {
            q5openCon, q5inproCon, q5doneCon
        });

        q4.questContinue = q5; // เพิ่มเควสต่อเนื่อง
        maleeStatus.questList.Add(q4);
        // มาลี */

        Debug.Log("Finished setting demo");
        GameObject.Find("NPC_System").BroadcastMessage("refreshUI"); // broadcast message to all child of NPC_System
    }
コード例 #34
0
 internal Quest Create(Quest questData)
 {
     _qreop.Create(questData);
     return(questData);
 }
コード例 #35
0
 public DroppedItemAtPlace(Quest parentQuest)
     : base(parentQuest)
 {
     IsTriggerCondition         = true;
     IsAlwaysOnTriggerCondition = true;
 }
コード例 #36
0
        public void TraverseToLeafWithOrderStrategy()
        {
            //Arrange
            int position = 0;
            Func <Quest, bool> predicate = q => true;
            List <Quest>       children  = new List <Quest>()
            {
                new FakeQuest(),
                new FakeQuest(),
                new FakeQuest(),
                new FakeQuest()
            };

            Quest        childToTraverse = children[position];
            List <Quest> childChildren   = new List <Quest>();

            Quest parent = new FakeQuest {
                Children = children
            };

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.IsInitialized()).
            Repeat.Once().
            Return(true);
            tree.Expect(tr => tr.Initialize()).
            Repeat.Never();
            tree.Expect(tr => tr.Root).
            Repeat.Times(3).
            Return(parent);
            tree.Expect(tr => tr.LoadChildren(Arg <Quest> .Is.Equal(childToTraverse))).
            Repeat.Once().
            Do(new Action <Quest>((q) =>
            {
                q.Children = childChildren;
            }));

            IQuestOrderStrategy strategy = MockRepository.GenerateStrictMock <IQuestOrderStrategy>();

            strategy.Expect(str => str.Order(Arg <IEnumerable <Quest> > .Is.Anything))
            .Repeat.Once()
            .Return(children.OrderBy(q => q.IsImportant));
            strategy.Expect(str => str.Order(Arg <IEnumerable <Quest> > .Is.Anything))
            .Repeat.Once()
            .Return(childChildren.OrderBy(q => q.IsImportant));

            QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, predicate)
            {
                OrderStrategy = strategy
            };

            //Act
            list.Initialize();
            bool traverseResult = list.TraverseToLeaf(position);

            Quest        listParent   = list.Parent;
            List <Quest> listChildren = list.Leaves;

            //Assert
            Assert.AreEqual(childToTraverse, listParent);
            Assert.AreEqual(childChildren, listChildren);

            Assert.IsTrue(traverseResult);

            tree.VerifyAllExpectations();
            strategy.VerifyAllExpectations();
        }
コード例 #37
0
        public void InitializeWithInitializedQuestTreeTest()
        {
            //Arrange
            List <Quest> children = new List <Quest>()
            {
                new FakeQuest()
                {
                    State = State.Done
                },
                new FakeQuest()
                {
                    State = State.Done
                },
                new FakeQuest()
                {
                    State = State.Failed
                },
                new FakeQuest()
                {
                    State = State.Idle
                }
            };
            Quest parent = new FakeQuest()
            {
                Children = children
            };

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.IsInitialized()).
            Repeat.Once().
            Return(true);
            tree.Expect(tr => tr.Initialize()).
            Repeat.Never();
            tree.Expect(tr => tr.Root).
            Repeat.Twice().
            Return(parent);

            QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => q.State == State.Idle || q.State == State.Done);

            //Act
            bool isInitializedBeforeInitialization = list.IsInitialized();

            list.Initialize();
            bool isInitializedAfterInitialization = list.IsInitialized();

            //Assert
            Assert.IsFalse(isInitializedBeforeInitialization);
            Assert.IsTrue(isInitializedAfterInitialization);

            Quest listParent = list.Parent;

            Assert.AreEqual(parent, listParent);
            List <Quest> listChildren = list.Leaves;

            Assert.IsNotNull(listChildren);
            Assert.IsNotEmpty(listChildren);
            Assert.AreEqual(3, listChildren.Count);
            Assert.IsTrue(listChildren.All(c => c.State == State.Done || c.State == State.Idle));

            tree.VerifyAllExpectations();
        }
コード例 #38
0
 protected void AcceptQuest(Quest _q)
 {
     EventHandler.AcceptQuest(_q);
 }
コード例 #39
0
 public void Init(Quest item)
 {
     ItemName.text = item.Name;
     QuestId       = item.ID;
 }
コード例 #40
0
    private bool CheckAchievementDairyQuest(Quest quest)
    {
        var gm = GameManagerQuest.Instance;
        var dairyCollectStat = GameManagerQuest.Instance.myAccount.dairyCollectStat;

        switch (quest.typeQuest)
        {
        case TypeQuest.Map:
            if (gm.currentPlayMapId == quest.Id)    //
            {
                return(true);
            }
            break;

        case TypeQuest.FrontFlip:
            if (dairyCollectStat.frontFlip >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.BackFlip:
            if (dairyCollectStat.backFlip >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.Win:
            if (dairyCollectStat.win >= quest.wantedValue && dairyCollectStat.mapId == quest.Id)
            {
                return(true);
            }
            break;

        case TypeQuest.Gold:
            if (dairyCollectStat.gold >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.Enegy:
            if (dairyCollectStat.enegy >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.BestTime:
            if (gm.dicBestTime[gm.currentPlayMapId].bestTime[gm.mapLevel] < quest.wantedValue && quest.Id == gm.currentPlayMapId)
            {
                return(true);
            }
            break;

        case TypeQuest.Crash:
            if (dairyCollectStat.crash <= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.Nitro:
            if (dairyCollectStat.nitro >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.LiftWheel:
            if (dairyCollectStat.liftWheel >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.Race:
            if (dairyCollectStat.race >= quest.wantedValue)
            {
                return(true);
            }
            break;

        case TypeQuest.LowGear:
            if (dairyCollectStat.lowGear >= quest.wantedValue)
            {
                return(true);
            }
            break;

        default:
            return(false);
        }
        return(false);
    }
コード例 #41
0
 public PlayerQuest(Quest details)
 {
     Details     = details;
     IsCompleted = false;
 }
コード例 #42
0
 public Location(int id, string name, string description, Item itemRequiredToEnter = null, Quest questAvailableHere = null,
                 Monster monsterLivingHere = null)
 {
     ID                  = id;
     Name                = name;
     Description         = description;
     ItemRequiredToEnter = itemRequiredToEnter;
     QuestAvailableHere  = questAvailableHere;
     MonsterLivingHere   = monsterLivingHere;
 }
コード例 #43
0
 public PickOneOf(Quest parentQuest)
     : base(parentQuest)
 {
 }
コード例 #44
0
 public void addQuest(Quest q)
 {
     quests.Add(q);
     quests[quests.Count - 1].initialize();
     Debug.Log("Añadida la misión " + q.questName + ".");
 }
コード例 #45
0
 protected virtual void quest_OnQuestProgress(Quest quest)
 {
     UpdateQuestRangeVisbility();
 }
コード例 #46
0
 private void QuestMachine_OnQuestEnded(Quest quest)
 {
     RefreshQuestsList();
 }
コード例 #47
0
 public bool IsQuestTaken(Quest quest)
 {
     return(_questLogModel.IsQuestTaken(quest));
 }
コード例 #48
0
 private void QuestMachine_OnQuestStarted(Quest quest)
 {
     ClearCurrentQuest();
     SetCurrentQuest(quest);
 }
コード例 #49
0
 public void addQuest(Quest newQuest)
 {
     activeQuests.Add(newQuest);
     pushQuestListUpdate();
 }
コード例 #50
0
ファイル: LoadManager.cs プロジェクト: stoplime/Choromage
    public void Awake()
    {
        foreach (SavedObjType type in Enum.GetValues(typeof(SavedObjType)))
        {
            savedObjLists[type] = new List <ObjectInfo>();
        }

        if (File.Exists(Application.dataPath + EnvironmentSaver.EnviromentDataPath))
        {
            savedObjLists[SavedObjType.EnvironmentObjects] = JsonMapper.ToObject <List <ObjectInfo> >(File.ReadAllText(Application.dataPath + EnvironmentSaver.EnviromentDataPath));
        }
        if (File.Exists(Application.dataPath + EnvironmentSaver.TileDataPath))
        {
            savedObjLists[SavedObjType.Tiles] = JsonMapper.ToObject <List <ObjectInfo> >(File.ReadAllText(Application.dataPath + EnvironmentSaver.TileDataPath));
        }
        if (File.Exists(Application.dataPath + EnvironmentSaver.NPCsDataPath))
        {
            savedObjLists[SavedObjType.NPCs] = JsonMapper.ToObject <List <ObjectInfo> >(File.ReadAllText(Application.dataPath + EnvironmentSaver.NPCsDataPath));
        }
        if (File.Exists(Application.dataPath + EnvironmentSaver.InitInventoryDataPath))
        {
            savedObjLists[SavedObjType.Inventory] = JsonMapper.ToObject <List <ObjectInfo> >(File.ReadAllText(Application.dataPath + EnvironmentSaver.InitInventoryDataPath));
        }
        // Player info
        if (File.Exists(Application.dataPath + SaveManager.PlayerDataPath))
        {
            savedPlayer = JsonMapper.ToObject <CharacterInfo>(File.ReadAllText(Application.dataPath + SaveManager.PlayerDataPath));
            LoadPlayerInfo();
        }
        // Quests
        if (File.Exists(Application.dataPath + SaveManager.QuestDataPath))
        {
            List <Quest> QuestData = JsonMapper.ToObject <List <Quest> >(File.ReadAllText(Application.dataPath + SaveManager.QuestDataPath));
            if (QuestData != null)
            {
                QuestManager.ListOfQuests = QuestData;
            }
            Quest q = QuestManager.GetQuestByID("ThorinIntroQuest");
            if (q.ID != null)
            {
                GameManager.InTutorial = !q.Completed;
            }
        }
        // Dialogue Variables
        if (File.Exists(Application.dataPath + SaveManager.DialogueDataPath))
        {
            DialogueSaver dialogueSaver = JsonMapper.ToObject <DialogueSaver>(File.ReadAllText(Application.dataPath + SaveManager.DialogueDataPath));
            if (dialogueSaver != null)
            {
                dialogueSaver.LoadToDialogBox();
            }
        }
        // Unlocked Spells
        // if (File.Exists(Application.dataPath + SpellManager.InitializedUnlockedSpellsPath) && !File.Exists(Application.dataPath + SpellManager.UnlockedSpellsPath))
        // {
        //     JsonData spellsData = JsonMapper.ToJson(JsonMapper.ToObject(File.ReadAllText(Application.dataPath + SpellManager.InitializedUnlockedSpellsPath)));
        //     File.WriteAllText(Application.dataPath + SpellManager.UnlockedSpellsPath, spellsData.ToString());
        // }

        if (ChunkManager.TileReference == null)
        {
            ChunkManager.TileReference = new Dictionary <string, TileBase>();
            // string[] allFiles = Directory.GetFiles("Assets/Resources/Tiles/WorldTiles");
            Dictionary <string, string> tileFileNames = new Dictionary <string, string>();
            if (Application.isEditor)
            {
                string[] allFiles = Directory.GetFiles(Application.dataPath + "/Resources/Tiles/WorldTiles");

                for (int i = 0; i < allFiles.Length; i++)
                {
                    if (allFiles[i].Contains(".meta"))
                    {
                        continue;
                    }
                    string prefabName = Path.GetFileNameWithoutExtension(allFiles[i]);
                    // Help.print(prefabName);
                    string tileFile = "Tiles/WorldTiles/" + prefabName;
                    tileFileNames.Add(tileFile, prefabName);
                }
                // Save the tileFileNames
                JsonData tileFileNameData = JsonMapper.ToJson(tileFileNames);
                File.WriteAllText(Application.dataPath + TileFileNameJsonPath, tileFileNameData.ToString());
            }
            else
            {
                // Read from json
                if (File.Exists(Application.dataPath + TileFileNameJsonPath))
                {
                    tileFileNames = JsonMapper.ToObject <Dictionary <string, string> >(File.ReadAllText(Application.dataPath + TileFileNameJsonPath));
                }
                else
                {
                    throw new FileNotFoundException("Streaming Assets " + TileFileNameJsonPath + " Path not found.");
                }
            }
            foreach (KeyValuePair <string, string> tileFileName in tileFileNames)
            {
                TileBase tile = Resources.Load <TileBase>(tileFileName.Key);
                ChunkManager.TileReference.Add(tileFileName.Value, tile);
            }
        }
        SpellManager.LoadSpells();
    }
コード例 #51
0
ファイル: 760.cs プロジェクト: yanhan-dev/BNSAtomix
 public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest)
 {
 }
コード例 #52
0
 public void finishQuest(Quest finishedQuest)
 {
     PlayerMotivator.Instance.resolveQuestRewards(finishedQuest);
     activeQuests.Remove(finishedQuest);
     completedQuests.Add(finishedQuest);
 }