public void UpdateLog(SubQuest _subquest) { if (!_subquest.isTimer) // CHECKER { circle.sprite = circleSprites[0]; titleText.text = _subquest.title; timeText.gameObject.SetActive(false); differenceText.gameObject.SetActive(false); } else // TIMER { circle.sprite = circleSprites[1]; titleText.text = _subquest.title; timeText.gameObject.SetActive(true); timeText.text = ConvertTimeText(_subquest.second); differenceText.gameObject.SetActive(true); float difference = _subquest.GetCompleteTimeDifference(); if (difference <= 0) { differenceText.color = Color.green; differenceText.text = "- " + ConvertTimeText(-1 * _subquest.GetCompleteTimeDifference()); } else if (difference > 0) { differenceText.color = Color.red; differenceText.text = "+ " + ConvertTimeText(_subquest.GetCompleteTimeDifference()); } } }
public void AddElement(SubQuestType.Q_type questType) { SubQuest Q = new SubQuest(); Q.Subquest = questType; Task.Add(Q); }
void DrawTalkTo(SubQuest sub) { if (sub.Subquest == SubQuestType.Q_type.Talk) { GameObject d = Instantiate(talkToIcon, sub.Trigger.transform.position + new Vector3(0, 100, 0), Quaternion.Euler(90, 0, 0), transform); d.GetComponent <SpriteRenderer>().color = Color.cyan; } }
public void AddStep(SubQuest s) { GameObject step = Instantiate(StepGameObject, transform.GetChild(1)); Text task() => step.transform.Find("Task").GetComponent <Text>(); //set up the content inside the step switch (s.Subquest) { case SubQuestType.Q_type.Attack: if (s.AttackType == SubQuestType.Q_Attack.Enemies) { task().text = "Defeat the Monsters and save the citivans!"; } else { task().text = s.Trigger.name + " must have done something wrong. I need to kill them!"; } step.name = "Attack"; break; case SubQuestType.Q_type.Goto: task().text = "Head over to this area!"; step.name = "Go To Location"; break; case SubQuestType.Q_type.Talk: task().text = "I need to go talk to " + s.Trigger.name; step.name = "Talk to"; break; case SubQuestType.Q_type.Get: task().text = "I need to steal a " + s.Trigger.name + " off of a gaurd"; step.name = "Get Item"; break; case SubQuestType.Q_type.Trade: task().text = "Talking to " + s.Trigger.name + " could provide me the item I need."; step.name = "Talk to"; break; case SubQuestType.Q_type.Give: task().text = "I need to give {item} to " + s.Trigger.name; step.name = "Give Item"; break; case SubQuestType.Q_type.Defend: task().text = s.Trigger.name + " is being attacked, they need to be defended!"; step.name = "Defend"; break; default: task().text = "Yet to fill out this subquest type"; break; } UISteps.Add(step); }
public void AddElement(SubQuestType.Q_type questType, SubQuestType.Q_Items item) { SubQuest Q = new SubQuest(); Q.Subquest = questType; Q.ItemType = item; Task.Add(Q); }
public void AddElement(SubQuestType.Q_type questType, SubQuestType.Q_GoToLocations location) { SubQuest Q = new SubQuest(); Q.Subquest = questType; Q.GotoTypes = location; Task.Add(Q); }
public void AddElement(SubQuestType.Q_type questType, SubQuestType.Q_Attack attack) { SubQuest Q = new SubQuest(); Q.Subquest = questType; Q.AttackType = attack; Task.Add(Q); }
public void SetCurrentSubquestCompleteTimeDiffrence(int _currentSubquestIndex) { Timer timer = FindObjectOfType <Timer>(); SubQuest currentSubquest = currentQuest.subQuestList[_currentSubquestIndex]; float deltaTime = currentSubquest.second - timer.GetLeftTime(); float completeTimeDifference = (deltaTime - currentSubquest.second); currentQuest.subQuestList[_currentSubquestIndex].SetCompleteTimeDifference(completeTimeDifference); }
void DrawGoTo(SubQuest sub) { Location location = sub.Trigger.GetComponent <Location>(); if (location != null) { GameObject d = Instantiate(togoIcon, location.transform.position + new Vector3(0, 100, 0), Quaternion.Euler(90, 0, 0), transform); d.GetComponent <SpriteRenderer>().color = Color.blue; } }
public void UpdateEditInfo(SubQuest _subquest) { inputField_title.text = _subquest.title; if (_subquest.isTimer) { inputField_time.text = (_subquest.second / 60f).ToString(); } else { inputField_time.text = 0.ToString(); } }
private void CheckSubQuests() { if (IsCompleted) { return; } for (int i = 0; i < subQuests_.Count; i++) { SubQuest quest = subQuests_[i]; if (quest && quest.IsCompleted) { if (i + 1 < subQuests_.Count && !subQuests_[i + 1].IsUnlocked) { subQuests_[i + 1].UnlockQuest(true); return; } continue; } return; } GameObject player = GameObject.FindGameObjectWithTag("Player"); if (player) { Character c = player.GetComponent <Character>(); if (c) { c.Xp = c.Xp + xpWhenCompleted; } } questCompleted_ = true; CallOnTriggered(); questCompleted_ = true; if (NotifcationManager.Instance) { NotifcationManager.Instance.AddNotification("Quest Complete!"); } if (OnQuestCompleted != null) { OnQuestCompleted.Invoke(this); } }
public SubQuest GetSubquestInfo() { SubQuest subQuest = new SubQuest(); subQuest.isTimer = this.isTimer; subQuest.title = inputField_title.text; if (isTimer) { subQuest.second = float.Parse(inputField_time.text) * 60f; } else { subQuest.second = 0f; } return(subQuest); }
public Text NewSubQuest(SubQuest subQuest) { GameObject subQuestGO = Instantiate(subQuestPrefab, subQuestContent.transform); Text text = subQuestGO.GetComponent <Text>(); if (text) { text.text = subQuest.Name; } else { Debug.LogError("SubQuest UI Element Prefab does not have a text component."); } subquestTexts.Add(subQuest, text); return(text); }
private void ReadQuestsFromNode(XmlNode node) { if (node == null) { return; } foreach (XmlNode childNode in node.ChildNodes) { if (childNode.LocalName != "quest") { continue; } Quest newQuest = new Quest(); newQuest.id = uint.Parse(childNode.Attributes[IDATTR_NAME].Value); newQuest.status = (QuestStatus)int.Parse(SafeGetNodeValue(FindFirstChildNode(childNode, "state"), "0")); newQuest.questGroupId = uint.Parse(SafeGetNodeValue(FindFirstChildNode(childNode, "questgroup_id"), "0"));; newQuest.daysToFail = int.Parse(SafeGetNodeValue(FindFirstChildNode(childNode, "daystofail"), "0")); ReadLangStringFromNode(childNode, new LangStringPair(newQuest.name, NAMENODE_NAME), new LangStringPair(newQuest.description, DESCNODE_NAME)); foreach (XmlNode subQuestNode in childNode.ChildNodes) { if (childNode.LocalName != "subquest") { continue; } SubQuest newSubQuest = new SubQuest(); newSubQuest.id = uint.Parse(subQuestNode.Attributes[IDATTR_NAME].Value); newSubQuest.currentValue = 0; newSubQuest.totalValue = int.Parse(SafeGetNodeValue(FindFirstChildNode(childNode, "total"), "0")); ReadLangStringFromNode(childNode, new LangStringPair(newSubQuest.name, NAMENODE_NAME)); newQuest.subQuests.Add(newSubQuest.id, newSubQuest); } quests.Add(newQuest.id, newQuest); } }
private void Subquest_OnSubQuestUnlocked(SubQuest subQuest) { NewSubQuest(subQuest); }
public void RandomQuest() { int typetest = (int)UnityEngine.Random.Range((int)0, (int)5); SubQuest temp = new SubQuest(); switch (typetest) { case 0: QT = QuestType.type; gettype = Types.Int2Type((int)UnityEngine.Random.Range((int)1, (int)22)); desc = "Oi! I need you to get a young " + Types.TypePrinter(gettype) + " type m0nst3r for me!"; if (gettype != Types.Type.spooky && gettype != Types.Type.amyschumer) { pay = (int)UnityEngine.Random.Range((int)100, (int)301); } else { pay = (int)UnityEngine.Random.Range((int)250, (int)501); } break; case 1: QT = QuestType.move; getmove = Lists.RandMove(); desc = "Oi oi! I need a young m0nst3r that knows the move " + getmove.Name + "!"; pay = (int)UnityEngine.Random.Range((int)100, (int)301); break; case 2: QT = QuestType.ATK; num = (double)UnityEngine.Random.Range(50f, 95f); num = System.Math.Round(num, 2); desc = "Hey-o oi oi! I'm gonna need a m0nst3r with an ATK rating of over " + num + "!"; if (num < 90) { pay = (int)(2 * ((num * num) / 50)); } else { pay = 1000; } break; case 3: QT = QuestType.SPD; num = (double)UnityEngine.Random.Range(50f, 95f); num = System.Math.Round(num, 2); desc = "Hey-o oi! I'm gonna need a m0nst3r with an SPD rating of over " + num + "!"; if (num < 90) { pay = (int)(2 * ((num * num) / 50)); } else { pay = 1000; } break; case 4: QT = QuestType.HP; num = (double)UnityEngine.Random.Range(45f, 70f); num = System.Math.Round(num, 2); desc = "Hoi! I'm gonna need a m0nst3r with over " + num + " health!"; if (num < 60) { pay = (int)(4 * ((num * num) / 45)); } else { pay = 2000; } break; } }
void Update() { inRange(); if (Input.GetKeyDown(KeyCode.R)) { Application.LoadLevel(0); } if (PlayerContl.getFuel() < 10.0f) { tutContrl.AddFuel(); } if (Camera.main.transform.position.y - _player.transform.position.y < -6.5f && Camera.main.transform.position.y - _player.transform.position.y > -10) { if (!endBeforeFinish) { Scoring _endScore = Instantiate(endScore, transform.position, Quaternion.identity) as Scoring; _endScore.setScore(totalPoints, false); cam.disable(); _hud.count = false; endBeforeFinish = true; } } Timer += Time.deltaTime; TimerCoolDown += Time.deltaTime; if (Mathf.Ceil((mapGenerator.mapHeight - _player.transform.position.y) / (mapGenerator.mapHeight / maxLayers)) != lastLayer) { { if (lastLayer < 4) { SubQuest _subQuest = Instantiate(subQuest, transform.position, Quaternion.identity) as SubQuest; currentLayer = Mathf.Ceil((mapGenerator.mapHeight - _player.transform.position.y) / (mapGenerator.mapHeight / maxLayers)); lastLayer = currentLayer; _subQuest.setInfo(_player.transform, (int)currentLayer, maxLayers, mapGenerator.mapHeight); currentSubquest = _subQuest; //start running camera if (lastLayer == 1) { cam.enable(); } if (lastLayer == 3) { tutContrl.BombUsedCheck(); } if (lastLayer == 2) { tutContrl.MisiionUsedCheck(); } } else { if (!endStarted) { //flipping around _player.GetComponent <PlayerController> ().negativeGravity(); //rotate the camera endAnimation = true; _hud.count = false; endStarted = true; //gameOver(); } } } } if (endAnimation) { if (cam.transform.eulerAngles.z > 180 || Camera.main.transform.eulerAngles.z == 0) { cam.transform.Rotate(Vector3.back * 100 * Time.deltaTime); } else { cam.GetComponent <GameCamera>().disable(); TileScore bonusScore = Instantiate(tileScore, _player.transform.position, Quaternion.identity) as TileScore; bonusScore.setScore(20000); Scoring _endScore = Instantiate(endScore, transform.position, Quaternion.identity) as Scoring; _endScore.setScore(totalPoints, true); endAnimation = false; } } if (multiplierTimer < 0) { multiplierTimer = 0; scoreMultiplier = 1; buttonStateUpdate(); } else if (multiplierTimer > 0) { multiplierTimer -= Time.deltaTime; } if (shake_intensity > 0) { Camera.main.transform.position = originPosition + Random.insideUnitSphere * shake_intensity; Camera.main.transform.position = new Vector3(Camera.main.transform.position.x, cam.transform.position.y, Camera.main.transform.position.z); Camera.main.transform.rotation = new Quaternion( originRotation.x + Random.Range(-shake_intensity, shake_intensity) * .2f, originRotation.y + Random.Range(-shake_intensity, shake_intensity) * .2f, originRotation.z + Random.Range(-shake_intensity, shake_intensity) * .2f, originRotation.w + Random.Range(-shake_intensity, shake_intensity) * .2f); shake_intensity -= shake_decay; } else if (!endAnimation) { Camera.main.transform.rotation = cam.transform.rotation; } //Debug.Log ("camPos : " + Camera.main.transform.position); //Debug.Log ("camObj : " + cam.transform.position); }