コード例 #1
0
    void OnTriggerEnter(Collider col)
    {
        if (etiqueta == "")
        {
            return;
        }
        else if (etiqueta.Substring(0, 1) == "#")
        {
            GbjID gbjid = col.GetComponent <GbjID>();
            if (!gbjid || gbjid.id != etiqueta)
            {
                return;
            }
        }
        else
        {
            if (!col.CompareTag(etiqueta))
            {
                return;
            }
        }

        Limpar();

        GameObject col_gbj = col.gameObject;

        if (!EstaDentroDaLista(col_gbj))
        {
            listaObjetos.Add(col_gbj);
        }
    }
コード例 #2
0
    void Update()
    {
        if (espacoBalcao.Vazio())
        {
            return;
        }

        if (espacoBalcao.itemAbrigado.GetComponent <TipoItem>().tipo == TipoItem.Tipo.Prato)
        {
            return;
        }

        Item itemItem = espacoBalcao.Soltar();

        // itemItem não pode ser nulo por conta da verificação do Vazio
        Assert.IsNotNull(itemItem);

        GbjID itemGID = itemItem.GetComponent <GbjID>();

        // itemGID não deve ser nulo
        Assert.IsNotNull(itemGID);

        for (int i = 0; i < transacoes.Length; i++)
        {
            if (itemGID.id == transacoes[i].entrada)
            {
                var novoItemGbj = Instantiate <GameObject>(
                    transacoes[i].saida, itemItem.transform.position, Quaternion.identity
                    );
                //novoItemGbj.transform.eulerAngles = Vector3.zero;

                var novoItemItem = novoItemGbj.GetComponent <Item>();

                // novoItemItem não deverá ser nulo
                Assert.IsNotNull(novoItemItem);

                espacoBalcao.Abrigar(novoItemItem);
                break;
            }
        }

        Destroy(itemItem.gameObject);
    }