Exemplo n.º 1
0
    /// <summary>
    /// Handle collisions
    /// </summary>
    /// <param name="collider">Object player collided with</param>
    void OnTriggerEnter(Collider collider)
    {
        /* TAG: portal */
        if (collider.gameObject.tag == "portal")
        {
            if (ArtGallery.DEBUG_LEVEL > ArtGallery.DEBUG.NONE)
            {
                Debug.Log("player activating portal " + collider.gameObject.GetComponent <Portal>().GetPortalID());
            }
            /* Tell portal controller to handle collision between specified portal and this player */
            FindObjectOfType <Room>().DoTeleport(this, collider.gameObject.GetComponent <Portal>().GetPortalID());
        }

        /* TAG: Function Pickup */
        if (collider.tag == "FunctionPickup")
        {
            FunctionPickup fp = collider.GetComponent <FunctionPickup>();
            if (!functions.HasFunction(fp.Function))
            {
                functions.AddFunction(fp.Function);
                //ag.ActivateFunction(fp.Function.fTYPE);
                Destroy(fp.gameObject);
            }
            else
            {
                //Destroy(fp.gameObject);
            }
        }
    }
Exemplo n.º 2
0
    private void SpawnPickups()
    {
        FTYPE fTYPE = ag.GetRandomCollectedFunction();

        if ((UnityEngine.Random.Range(0f, 1f) < ag.functionSpawnRate &&
             !ag.FunctionIsActive(fTYPE)) || ag.ActivateFunctionsEmpty())
        {
            GameObject     functionPickup = Instantiate(functionPickupObject) as GameObject;
            FunctionPickup fp             = functionPickup.GetComponent <FunctionPickup>();
            SavedFunction  sf             = new SavedFunction
            {
                fTYPE = fTYPE
            };
            sf.GenerateThumbnail();
            fp.Function = sf;
        }
    }