//Start is called before the first frame update private void Start() { questStageScript = GameObject.FindGameObjectWithTag("Quest Tracker").GetComponent <QuestStages>(); playerObject = gameObject; playerCamera = playerObject.transform.GetComponentInChildren <Camera>(); interactionRange = 2f; interactionLayer = LayerMask.GetMask("Interactible"); }//End Start
public void SetStage(string name, int stage) { if (_quests.Contains(new QuestStages { name = name })) { QuestStages quest = _quests.Find(questToFind => questToFind.name.Equals(name)); quest.stage = stage; } else { Debug.Log($"Can not set stage of quest named as {name}"); } }
public int GetStage(string name, bool isInit = false) { //Если функция вызывается при первой загрузке диалога, то добавляется новый квест в список, в ином случае - возвращается -1 и в консоль выводится сообщение об ошибке. //При вызове функции не из диалога НЕ ПЕРЕДАВАТЬ ВТОРОЙ АРГУМЕНТ if (_quests.Contains(new QuestStages { name = name })) { QuestStages quest = _quests.Find(questToFind => questToFind.name.Equals(name)); return(quest == null ? -1 : quest.stage); } else if (isInit) { Add(name); QuestStages quest = _quests.Find(questToFind => questToFind.name.Equals(name)); return(quest == null ? -1 : quest.stage); } else { Debug.Log($"Can not get stage of quest named as {name}"); return(-1); } }
} //End interact protected void Awake() { stages = GameObject.FindGameObjectWithTag("Quest Tracker").GetComponent <QuestStages>(); soundThing = (GameObject)Resources.Load("Prefabs/Soundthing"); }//End Awake