public override void Act() { if (element.getState() == objectState.DEFAULT) { SRManager srm = SRManager.instance; SRElement e = srm.inventory.SearchObjectByName(keyRequired); if (e != null) { if (destroyKeyOnUse) { e.actBehaviour.RemoveFromList(); } element.setState(objectState.USED); GameManager.instance.SaveData(); srm.playTTS(doorOpen); srm.deactivate(doorOpen.length); //cargar nueva escena (con invoke, para que de tiempo a oir el texto) Invoke("change", doorOpen.length); } else { srm.playTTS(failAudio); } } }
/// <summary> /// Añade objeto a inventario en estado i /// </summary> /// <param name="s"></param> public void addItemToScene(string s, int i) { sceneObjs.Add(new element(s, i)); SRManager srm = SRManager.instance; if (srm != null) { SRElement aux = Instantiate((Resources.Load("Objects/" + s)) as GameObject, srm.scene.transform).GetComponent <SRElement>(); aux.name = deleteCloneText(aux.name); aux.setState((objectState)i); srm.scene.Push(aux); } }
/// <summary> /// Añade objeto a inventario en estado i /// </summary> /// <param name="s"></param> public void addItemToInv(string s, int i) { invObjects.Add(new element(s, i)); SRManager srm = SRManager.instance; if (srm != null && srm.type == SRType.Room) { SRElement aux = Instantiate((Resources.Load("Objects/" + s)) as GameObject, srm.inventory.transform).GetComponent <SRElement>(); aux.name = deleteCloneText(aux.name); aux.setState((objectState)i); srm.inventory.Push(aux); } }
public SRElement SearchObjectByName(string name) { SRElement element = null; foreach (SRElement se in sreList) { if (se.name == name) { element = se; break; } } return(element); }
public void Remove(SRElement element) { int index = sreList.IndexOf(element); sreList.Remove(element); if (index < currentFocus || (index == currentFocus && index == sreList.Count)) { GoTo(currentFocus - 1); } else { ReadFocus(); } }
public void Insert(int index, SRElement element) { sreList.Insert(index, element); element.parentList = this; if (index <= currentFocus) { GoTo(currentFocus + 1); } else if (srm.currentList == this) { ReadFocus(); } }
public void Push(SRElement element) { Insert(sreList.Count, element); }