private void StartGame() { myTileController = new TileController(tiles, tileWidth, tileHeight); myInitativeController = new InitativeController(player, enemies, myTileController); qManager = new QuestManager(); trigger = new QuestTrigger(); qManager.qObjects = Quests; foreach (Transform qo in Quests.transform) { GameObject qpar = qo.gameObject; qManager.SetQuests(qpar); } // Acquire our quest to hand to the trigger QuestTemplate q = quest.GetComponent <KillEnemiesStage1> (); Debug.Log("Test: " + q.getDescription()); if (q == null) { Debug.Log("ebin fugg :DDDDD"); } trigger.quest = q; trigger.activate(); q.start(); allCharacters.Add(player); foreach (Transform enemy in enemies.transform) { allCharacters.Add(enemy.gameObject); } }
// Use this for initialization void Start() { thePlayer = FindObjectOfType <PlayerController>(); //joystick = FindObjectOfType<Joystick>(); joybutton = FindObjectOfType <JoyButton>(); endQuest = FindObjectOfType <QuestTrigger>(); }
// I decided that i didn't want to support the drag and drop on chests to create new items. /* * public void OnDrop (PointerEventData eventData) { * if (DragHandler.itemBeingDragged == null) { * return; * } * * GameObject containerSlot = null; * if (DragHandler.itemBeingDragged.transform.parent.GetComponent<ContainerSlot>()) { * containerSlot = DragHandler.startParent.gameObject; * } * * CreateSlotWithItem (DragHandler.itemBeingDragged.GetComponent<SlotObjectContainer>().obj); * * if (containerSlot) { * Destroy (containerSlot); * } * DestroyImmediate (DragHandler.itemBeingDragged.transform.gameObject); * * DragHandler.itemBeingDragged = null; * } */ public void CreateSlotWithItem(GameObject Item) { GameObject slot = Instantiate(Slot, transform.GetChild(0).transform.GetChild(0), false); GameObject slotItem = Instantiate(ContainerSlotItem, slot.transform, false); slotItem.GetComponent <SlotObjectContainer> ().obj = Item; GameObject item = slotItem.GetComponent <SlotObjectContainer> ().obj; Component objectData = item.GetComponent(typeof(IObjectData)); IObjectData data = objectData as IObjectData; slotItem.GetComponent <Text> ().text = data.objectName(); if (data.count() != 1) { slotItem.GetComponent <Text> ().text += " x" + data.count(); } // Process Quest UnTrigger. QuestTriggerWrapper questTriggerWrapper = item.GetComponent <QuestTriggerWrapper> (); if (questTriggerWrapper != null) { QuestTrigger trigger = questTriggerWrapper.questTrigger; if (trigger != null) { GameObject.Find("QuestManager").GetComponent <QuestManager> ().ProcessQuestUnTrigger(trigger); } } }
public void ProcessQuestUnTrigger(QuestTrigger questTrigger) { if (complete) { return; } if (questTrigger.questNode == currentObjective) { currentObjective.MarkTaskIncomplete(questTrigger.task); currentObjective.ShowCurrentTasks(); } else { questTrigger.questNode.MarkTaskIncomplete(questTrigger.task); if (questTrigger.questNode == currentObjective.previous) { currentObjective = questTrigger.questNode; currentObjective.ShowCurrentTasks(); // When you go to the previous node, make the quest giver say // the repeated dialog. dialog = currentObjective.repeatedDialog; } } }
void Update() { if (Input.GetMouseButtonUp(0)) { int triggersLayerIdx = LayerMask.NameToLayer(triggersLayer); QuestTrigger[] hitTriggers = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector3.zero) .Where(x => x.transform.gameObject.layer == triggersLayerIdx).Select(x => x.transform.GetComponent <QuestTrigger>()).ToArray(); if (hitTriggers.Count() == 0) { return; } QuestTrigger topTrigger = hitTriggers.First(); foreach (var trigger in hitTriggers) { if (topTrigger.sortingOrder < trigger.sortingOrder) { topTrigger = trigger; } } topTrigger.Action(); } }
public void ProcessQuestTrigger(QuestTrigger questTrigger) { if (complete) { return; } if (questTrigger.questNode == currentObjective) { currentObjective.MarkTaskComplete(questTrigger.task); } else { if (questTrigger.questNode.taskType != TaskType.TALK) { questTrigger.questNode.MarkTaskComplete(questTrigger.task); } } while (canIAdvance()) { AdvanceQuestAndDisplayObjectives(); dialog = currentObjective.dialog; } }
public void SelectTrigger(int triggerno) { if (gridTriggers.DataSource == null) { return; } Console.WriteLine("SelectTrigger :: reload to trigger grid"); List <QuestTrigger> triggerList = (List <QuestTrigger>)gridTriggers.DataSource; if (triggerList.Count > triggerno) { QuestTrigger trigger = triggerList[triggerno]; gridConditions.ColumnCount = 1; gridConditions.Columns[0].HeaderText = "Conditions"; gridConditions.Rows.Clear(); for (int row = 0; row < trigger.Conditions.Count; row++) { gridConditions.Rows.Add(); Condition c = trigger.Conditions[row]; AddConditionToGrid(c, row); } gridConditions.Refresh(); } }
public void CreateSlotItemAsChildOfExistingSlot(GameObject item) { GameObject newSlotItem = Instantiate(slotItem, transform, false); Component comp = item.GetComponent <SlotObjectContainer>().obj.GetComponent(typeof(IObjectData)); IObjectData objectData = comp as IObjectData; string uiText; if (objectData.count() == 1) { uiText = objectData.objectName(); } else { uiText = objectData.objectName() + " x" + objectData.count(); } newSlotItem.GetComponent <SlotObjectContainer> ().obj = item.GetComponent <SlotObjectContainer>().obj; newSlotItem.GetComponent <Text> ().text = uiText; QuestTriggerWrapper questTriggerWrapper = newSlotItem.GetComponent <SlotObjectContainer> ().obj.GetComponent <QuestTriggerWrapper>(); if (questTriggerWrapper != null) { QuestTrigger trigger = questTriggerWrapper.questTrigger; if (trigger != null) { Debug.Log("Process Quest Trigger."); GameObject.Find("QuestManager").GetComponent <QuestManager> ().ProcessQuestTrigger(trigger); } } Destroy(item); }
private void Start() { buttonAnimator = buttonObj.GetComponent <Animator>(); button = buttonObj.GetComponent <Button>(); qt = GetComponent <QuestTrigger>(); qct = GetComponent <QuestCollectTrigger>(); bs = GetComponent <BagScript>(); }
public void ChangeGameObject(GameObject gameObject) { QuestEditor.selectedQuest.questTriggers.Remove(trigger); QuestTrigger temp = (QuestTrigger)gameObject.AddComponent(trigger.GetType()); Object.DestroyImmediate(trigger); trigger = temp; QuestEditor.selectedQuest.questTriggers.Add(trigger); }
public Quest FindQuest(QuestTrigger trigger) { foreach (Quest quest in quests) { if (quest.questTriggers.Contains(trigger)) { return(quest); } } return(null); }
public static Node FindNode(QuestTrigger trigger) { foreach (Node node in QuestEditor.nodes) { if (node.trigger == trigger) { return(node); } } return(null); }
public string getDialog(QuestTrigger questTrigger) { // TODO A better way to lookup the quests. for (int i = 0; i < quests.Count; ++i) { if (questTrigger.quest == quests[i]) { return(quests[i].getDialog()); } } return(""); }
public QuestDialogueData(QuestTrigger triggerA, QuestTrigger triggerD, int line) { if (triggerA != null) { triggersToActiveToAdd.Add(triggerA); } if (triggerD != null) { triggersToDesactiveToAdd.Add(triggerD); } this.line = line; }
public void ChangeScript(System.Type type) { if (type != QuestEditor.TranslateType(TRIGGER_TYPES.START) && type != QuestEditor.TranslateType(TRIGGER_TYPES.END) && trigger.GetType() != QuestEditor.TranslateType(TRIGGER_TYPES.START) && trigger.GetType() != QuestEditor.TranslateType(TRIGGER_TYPES.END)) { QuestEditor.selectedQuest.questTriggers.Remove(trigger); QuestTrigger temp = (QuestTrigger)trigger.gameObject.AddComponent(type); Object.DestroyImmediate(trigger); trigger = temp; ChangeTitle(type); QuestEditor.selectedQuest.questTriggers.Add(trigger); } }
public void ProcessQuestUnTrigger(QuestTrigger questTrigger) { Debug.Log("Processing Quest UnTrigger"); // TODO A better way to lookup the quests. for (int i = 0; i < quests.Count; ++i) { if (questTrigger.quest == quests[i]) { quests[i].ProcessQuestUnTrigger(questTrigger); break; } } }
public void ProcessQuestTrigger(Quest quest, QuestTrigger trigger) { if (!quest.active) { quest.active = true; quest.SetCurrentObjectiveToFirstObjective(); quest.InitDialog(); } else { quest.ProcessQuestTrigger(trigger); } }
private void Constructor(QuestTrigger trigger) { ChangeTitle(trigger.GetType()); id = lastId++; rect = new Rect(100, 100, 120, 50); QuestEditor.nodes.Add(this); QuestEditor.selectedNode = id; connectActive = new List <Connector>(); connectDesactive = new List <Connector>(); if (trigger.GetType() == typeof(EndQuestAT)) { ((EndQuestAT)trigger).quest = QuestEditor.selectedQuest; } }
public int activeNum; //number of active quests private void Start() { allQuests = new Dictionary <int, QuestData>(); activeNum = 0; foreach (GameObject quest in questObjects) { QuestTrigger q = quest.GetComponent <QuestTrigger>(); allQuests.Add(q.quest.questNumber, q.quest); if (q.quest.hasStarted == true) { activeNum += 1; FindObjectOfType <QuestManager>().StartQuest(q.quest); } } }
public void OnPointerClick(PointerEventData eventData) { if (selectCountButtonCreated) { return; } Component comp = GetComponent <SlotObjectContainer>().obj.GetComponent(typeof(IObjectData)); IObjectData objData = comp as IObjectData; if (objData.count() > 1) { selectCountButtonCreated = true; GameObject selectCountButtonReference = Instantiate(selectCountButton, Canvas.transform); selectCountButtonReference.GetComponent <RectTransform> ().localPosition = new Vector3(0, 0, 0); selectCountButtonReference.GetComponentInChildren <Text> ().text = "1"; selectCountButtonReference.GetComponentInChildren <PlusButtonOnClick> ().maxCount = objData.count(); selectCountButtonReference.SetActive(true); // Give the count button reference the gameobject and a reference to the character position. selectCountButtonReference.GetComponent <PlayerReferenceAndItemContainer>().Player = transform.root.GetComponent <PlayerReferenceContainer> ().Player; selectCountButtonReference.GetComponent <PlayerReferenceAndItemContainer> ().Item = GetComponent <SlotObjectContainer> ().obj; selectCountButtonReference.GetComponent <PlayerReferenceAndItemContainer> ().SlotObjectContainer = GetComponent <SlotObjectContainer> (); return; } DropItem(); // TODO Wrap this nicely so other drop logic can use it. // See if the item has a quest trigger. QuestTriggerWrapper questTriggerWrapper = GetComponent <SlotObjectContainer> ().obj.GetComponent <QuestTriggerWrapper> (); if (questTriggerWrapper != null) { QuestTrigger pickupQuestTrigger = questTriggerWrapper.questTrigger; if (pickupQuestTrigger != null) { GameObject.Find("QuestManager").GetComponent <QuestManager> ().ProcessQuestUnTrigger(pickupQuestTrigger); } } gameObject.transform.SetParent(null); Destroy(gameObject); }
void Start() { if (completeQuestEventObj != null) { cqe = completeQuestEventObj.GetComponent<CompleteQuestEvent> (); } trigger = questTriggerObj.GetComponent<QuestTrigger> (); sQstring = startQuestText.text; fAQstring = failedQuestText.text; fQstring = finishQuestText.text; char[] delimitingChars = {'\n'}; sQLines = sQstring.Split (delimitingChars); fQLines = fQstring.Split (delimitingChars); fAQLines = fAQstring.Split (delimitingChars); npcb = this.GetComponent<NPCBehaviour> (); r = new Reward (0, rewardLevels); q = new Quest (this.gameObject, r, quest_name, quest_description); ch = chatHandlerObj.GetComponent<ChatHandler> (); }
public void QuestPostProcessing(Quest quest, QuestTrigger trigger) { quest.PostProcessing(); }
public void OnDrop(PointerEventData eventData) { if (DragHandler.itemBeingDragged == null) { return; } if (DragHandler.startParent.GetComponent <PlayerInventorySlot> ()) { // This is the easiest case. The Player is swapping items around in the inventory. // No need to process a quest trigger or anything like that. if (item) { item.transform.SetParent(DragHandler.startParent); } DragHandler.itemBeingDragged.transform.SetParent(transform); DragHandler.itemBeingDragged = null; transform.root.GetComponent <PlayerReferenceContainer> ().Player.GetComponent <UICharacterInventoryFactory> ().RefreshCharacterInventory(); } else if (DragHandler.startParent.GetComponent <EquipmentSlot> ()) { // The Player is trying to drag an item from an equipment slot to an inventory slot. // If there is no item in this slot, no big deal. Else they are trying to swap and we // need to be a little careful. if (item) { GameObject uiObject = DragHandler.itemBeingDragged.GetComponent <SlotObjectContainer> ().obj; Equipment equipmentComponent = uiObject.GetComponent <Equipment> (); if (equipmentComponent == null || item.GetComponent <SlotObjectContainer> ().obj.GetComponent <Equipment> () == null || !equipmentComponent.equipmentType.Equals(item.GetComponent <SlotObjectContainer> ().obj.GetComponent <Equipment> ().equipmentType)) { DragHandler.itemBeingDragged.transform.SetParent(DragHandler.startParent); return; } item.transform.SetParent(DragHandler.startParent); } DragHandler.itemBeingDragged.transform.SetParent(transform); DragHandler.itemBeingDragged = null; transform.root.GetComponent <PlayerReferenceContainer> ().Player.GetComponent <UICharacterInventoryFactory> ().RefreshCharacterInventory(); } else if (DragHandler.startParent.GetComponent <ContainerSlot>()) { // The Player is trying to move an item from a container to an inventory slot. // It may be a swap or it may not be. if (item) { GameObject itemCopy = item; itemCopy.transform.SetParent(null); DragHandler.itemBeingDragged.transform.SetParent(transform); transform.root.GetComponent <PlayerReferenceContainer> ().Player.GetComponent <UICharacterInventoryFactory> ().RefreshCharacterInventory(); DragHandler.itemBeingDragged.transform.SetParent(null); // Create a slot item. GameObject newSlotItem = Instantiate(slotItemInteractingWithContainer, transform, false); Component comp = DragHandler.itemBeingDragged.GetComponent <SlotObjectContainer>().obj.GetComponent(typeof(IObjectData)); IObjectData objectData = comp as IObjectData; string uiText; if (objectData.count() == 1) { uiText = objectData.objectName(); } else { uiText = objectData.objectName() + " x" + objectData.count(); } newSlotItem.GetComponent <Text> ().text = uiText; newSlotItem.GetComponent <SlotObjectContainer> ().obj = DragHandler.itemBeingDragged.GetComponent <SlotObjectContainer>().obj; // Tell the container to create its slot item. Destroy(DragHandler.itemBeingDragged); DragHandler.startParent.GetComponent <ContainerSlot> ().CreateSlotItemAsChildOfExistingSlot(itemCopy); QuestTriggerWrapper questTriggerWrapper = newSlotItem.GetComponent <SlotObjectContainer> ().obj.GetComponent <QuestTriggerWrapper>(); if (questTriggerWrapper != null) { QuestTrigger trigger = questTriggerWrapper.questTrigger; if (trigger != null) { Debug.Log("Process Quest Trigger."); GameObject.Find("QuestManager").GetComponent <QuestManager> ().ProcessQuestTrigger(trigger); } } } else { // Not a swap. GameObject itemCopy = item; Destroy(item); DragHandler.itemBeingDragged.transform.SetParent(transform); transform.root.GetComponent <PlayerReferenceContainer> ().Player.GetComponent <UICharacterInventoryFactory> ().RefreshCharacterInventory(); // Create a slot item. itemCopy = item; Destroy(item); GameObject newSlotItem = Instantiate(slotItemInteractingWithContainer, transform, false); Component comp = itemCopy.GetComponent <SlotObjectContainer>().obj.GetComponent(typeof(IObjectData)); IObjectData objectData = comp as IObjectData; string uiText; if (objectData.count() == 1) { uiText = objectData.objectName(); } else { uiText = objectData.objectName() + " x" + objectData.count(); } newSlotItem.GetComponent <Text> ().text = uiText; newSlotItem.GetComponent <SlotObjectContainer> ().obj = DragHandler.itemBeingDragged.GetComponent <SlotObjectContainer>().obj; QuestTriggerWrapper questTriggerWrapper = newSlotItem.GetComponent <SlotObjectContainer> ().obj.GetComponent <QuestTriggerWrapper>(); if (questTriggerWrapper != null) { QuestTrigger trigger = questTriggerWrapper.questTrigger; if (trigger != null) { Debug.Log("Process Quest Trigger."); GameObject.Find("QuestManager").GetComponent <QuestManager> ().ProcessQuestTrigger(trigger); } } Destroy(DragHandler.startParent.gameObject); } } }
// Use this for initialization void Start() { theQM = FindObjectOfType <QuestManager>(); theQT = FindObjectOfType <QuestTrigger>(); }
//private int skipper = 1; // Use this for initialization void Start() { dMan = FindObjectOfType <DialogueManager>(); qTrig = FindObjectOfType <QuestTrigger> (); theQM = FindObjectOfType <QuestManager> (); }
private void Awake() { questTrigger = FindObjectOfType <QuestTrigger>(); playerModel = FindObjectOfType <Player>(); }
public Node(QuestTrigger questTrigger) { trigger = questTrigger; Constructor(questTrigger); }
public Node(GameObject gameObject, System.Type type) { trigger = (QuestTrigger)gameObject.AddComponent(type); QuestEditor.selectedQuest.questTriggers.Add(trigger); Constructor(trigger); }