Пример #1
0
    private void OnUse(PlayerInteract.Use e)
    {
        if (singleUse && used)
        {
            return;
        }

        if (singleUse)
        {
            used = true;

            foreach (Transform child in transform)
            {
                child.gameObject.SetActive(false);
            }
        }

        // make it so that this object won't get hit by anything
        gameObject.layer = 0;
        if (GetComponent <Collider>() != null)
        {
            Destroy(GetComponent <Collider>());
        }

        // play audio source
        GetComponent <AudioSource>().PlayOneShot(breakSound);
        SpawnBrokenVersion();
    }
Пример #2
0
    private void GrantCoins(PlayerInteract.Use e)
    {
        // Send out event to player
        GiveCoins gc;

        gc.coinCount = coinCount + Random.Range(-coinCountVarience, coinCountVarience);
        FFMessageBoard <GiveCoins> .SendToLocalToAllConnected(gc, e.actor.gameObject);
    }
Пример #3
0
 private void OnUse(PlayerInteract.Use e)
 {
     if (playerInventory.hasPowerObject)
     {
         activateOnWin.gameObject.SetActive(true);
         player.LoadVictoryScreen(winDelay);
     }
 }
Пример #4
0
    private void GrantObject(PlayerInteract.Use e)
    {
        // Send out event to player
        GiveObject giveObject;

        giveObject.ObjectName  = ObjectName;
        giveObject.objectCount = objectCount + Random.Range(-objectCountVarience, objectCountVarience);
        FFMessageBoard <GiveObject> .SendToLocalToAllConnected(giveObject, e.actor.gameObject);
    }
Пример #5
0
    private void OnUse(PlayerInteract.Use e)
    {
        if (singleUse && used)
        {
            return;
        }

        if (singleUse)
        {
            used = true;
        }
    }
Пример #6
0
    private void OnUse(PlayerInteract.Use e)
    {
        if (singleUse && used)
        {
            return;
        }

        if (needsKey && e.actor.GetComponent <Inventory>().hasKey == false)
        {
            return;
        }


        if (singleUse)
        {
            used = true;
        }

        Animate();
    }
Пример #7
0
    private void Pickup(PlayerInteract.Use e)
    {
        // Play effects
        if (GetComponent <AudioSource>() != null && pickupSound != null)
        {
            GetComponent <AudioSource>().PlayOneShot(pickupSound);
        }

        // Send out event to player
        PickupEvent pe;

        pe.name = gameObject.name;
        FFMessageBoard <PickupEvent> .SendToLocalToAllConnected(pe, e.actor.gameObject);

        // Destroy self, @TODO Fancy pickup Animation?
        var   seq        = action.Sequence();
        float pickupTime = Mathf.Max(1.0f, pickupSound != null ? pickupSound.length : 1.0f);

        seq.Property(ffposition, e.actor.position, FFEase.E_SmoothStart, pickupTime);
        seq.Delay(pickupSound != null ? pickupSound.length : 1.0f);
        seq.Sync();
        seq.Call(DestroySelf);
    }