Exemple #1
0
    private void CreateResource()
    {
        resourceCount--;
        if (audioSource != null)
        {
            audioSource.PlayOneShot(spawnSound);
        }
        sprite.color = hurtColor;
        ResourceObject resource = Instantiate(resourcePrefab, spawnPoint.transform.position, Quaternion.identity).GetComponent <ResourceObject>();

        resource.SetPreventAttractionTimer(0.3f);
        resource.spawningCollider = GetComponentInChildren <Collider2D>();
        float   angle     = Random.value - 0.5f * angleRange;
        Vector2 direction = new Vector2(Mathf.Sin(angle + 90f), Mathf.Cos(angle + 90f));

        resource.GetComponent <Rigidbody2D>().AddForce(direction * spawnForce, ForceMode2D.Impulse);
        Debug.DrawRay(spawnPoint.transform.position, direction, Color.red, 1f);
        if (resourceCount <= 0)
        {
            if (audioSource != null)
            {
                audioSource.PlayOneShot(destroySound);
            }
            Destroy(gameObject, 0.5f);
            foreach (Collider2D collider in GetComponentsInChildren <Collider2D>())
            {
                collider.enabled = false;
            }

            GetComponentInChildren <SpriteRenderer>().enabled = false;
            enabled = false;
        }
    }