コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
    /// <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);
        }
    }
コード例 #3
0
    /// <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);
        }
    }
コード例 #4
0
    public SRElement SearchObjectByName(string name)
    {
        SRElement element = null;

        foreach (SRElement se in sreList)
        {
            if (se.name == name)
            {
                element = se; break;
            }
        }
        return(element);
    }
コード例 #5
0
    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();
        }
    }
コード例 #6
0
    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();
        }
    }
コード例 #7
0
 public void Push(SRElement element)
 {
     Insert(sreList.Count, element);
 }