void InteractWithObject(C_InteractableObject theObject) { bool noResult = true; if (theObject.conditionResultList.Count != 0) { foreach(C_ConditionResult conditionResult in theObject.conditionResultList) { bool checkFailed = false; foreach(string condition in conditionResult.conditionsList) { string trigger = condition; if(condition[0] == '!') { trigger = condition.Remove(0,1); if(trigger.StartsWith("have_")) { trigger = trigger.Remove(0,5); if(player.inventory.GetItemID(trigger) >= 0) { checkFailed = true; break; } } if(C_ChapterManager.currentChapter.conditionTriggers.Contains(trigger)) { checkFailed = true; break; } } else { trigger = condition; if(trigger.StartsWith("have_")) { trigger = trigger.Remove(0,5); if(player.inventory.GetItemID(trigger) < 0) { checkFailed = true; break; } } if(!C_ChapterManager.currentChapter.conditionTriggers.Contains(condition)) { checkFailed = true; break; } } } if(!checkFailed) { // Do result noResult = false; _interactObj = theObject; _interactConResIndex = theObject.conditionResultList.IndexOf(conditionResult); _interacting = true; InteractionResult(); break; } } } if(noResult) { _activatedButtons = theObject.buttons; _activatedButtons.SetActive(true); _showButtons = true; } C_ChapterManager.currentChapter.conditionTriggers.Remove(_selectedItem); _selectedItem = ""; player.inventory.selectedSlot = -1; }
public void InteractObject(C_InteractableObject theObject) { theObject.buttons.SetActive (false); _skipUpdate = true; switch(theObject.interactionType) { case E_InteractType.None: break; case E_InteractType.Monologue: SetupDialogue(true); _dialogueEnabled = true; break; case E_InteractType.LoadScene: C_ChapterManager.currentChapter.lastScene = Application.loadedLevelName; Application.LoadLevel(theObject.loadScene); break; } }
public void ObserveObject(C_InteractableObject theObject) { theObject.buttons.SetActive (false); //DisplayDescriptionBox(theObject.observeLine); if(PlayerPrefs.GetInt("Language") == 1) DisplayDescriptionBox(theObject.observeLine); else DisplayDescriptionBox(theObject.observeLineDutch); }