Beispiel #1
0
    private void OnBreak(object sender, DeathEvent e)
    {
        if (onBreakPrefab != null)
        {
            Instantiate(onBreakPrefab, transform.position, transform.rotation);
        }

        Vector3 offset = new Vector3(
            UnityEngine.Random.value * 2f,
            UnityEngine.Random.value * 2f,
            UnityEngine.Random.value * 2f
            );

        if (dropPrefab != null)
        {
            Instantiate(dropPrefab, transform.position + new Vector3(0, dropPrefabHeight, 0), Quaternion.Euler(transform.rotation.eulerAngles + offset));
        }

        if (drop != null)
        {
            int amount = amountRange.RandomValue();

            for (int i = 0; i < amount; i++)
            {
                GameMaster.DropItemNaturally(transform.position, drop);
            }
        }

        Destroy(this.gameObject);
    }
    private void OnInteract(object sender, InteractableEvent e)
    {
        if (dropPrefab != null)
        {
            Instantiate(dropPrefab, transform.position, transform.rotation);
        }

        if (drop != null)
        {
            int amount = amountRange.RandomValue();

            for (int i = 0; i < amount; i++)
            {
                GameMaster.DropItemNaturally(transform.position, drop);
            }
        }

        Destroy(this.gameObject);
    }