Inheritance: MonoBehaviour
Example #1
0
 public void setIgnoreLayer(int layerToIgnore)
 {
     for (int i = 0; i < cannons.Length; i++)
     {
         ParticleBehavior pbCannon = cannons[i].GetComponent <ParticleBehavior>();
         pbCannon.setIgnoreLayer(layerToIgnore);
     }
 }
Example #2
0
    public static void SpawnParticle(GameObject _particle, Vector3 pos, Gradient color, Vector3 force, float forceMultiplier)
    {
        GameObject       particle         = Instantiate(_particle, pos, Quaternion.identity);
        ParticleBehavior particleBehavior = particle.AddComponent(typeof(ParticleBehavior)) as ParticleBehavior;

        if (color != null)
        {
            ParticleSystem.MainModule     settings = particle.GetComponent <ParticleSystem>().main;
            ParticleSystem.MinMaxGradient grad     = new ParticleSystem.MinMaxGradient(color);
            grad.mode = ParticleSystemGradientMode.RandomColor;
            // then set this grad variable to some particle module
            settings.startColor = grad;
        }
        if (particle.TryGetComponent(out Rigidbody rb))
        {
            rb.AddForce(force * forceMultiplier, ForceMode.Impulse);
        }
    }
    private void OnCollisionEnter(Collision collision)
    {
        // Check for player collision
        if (collision.gameObject.tag == "Player")
        {
            player.GetComponent <PlayerController>().RemoveObserver(this);

            Collider[] colliders = gameObject.GetComponents <Collider>();
            foreach (Collider collider in colliders)
            {
                colliderItems.Remove(collider.gameObject);
                collider.enabled = false;
            }

            foreach (Transform child in transform)
            {
                child.GetComponent <MeshRenderer>().enabled = false;
            }

            if (gameObject.GetComponent <MeshRenderer>() != null)
            {
                gameObject.GetComponent <MeshRenderer>().enabled = false;
            }

            ParticleBehavior pb = null;

            switch (itemType)
            {
            case ItemType.BREAD:
                pb = new BreadItem();
                break;

            case ItemType.CAN:
                pb = new CanItem();
                break;

            case ItemType.CHEESE:
                pb = new CheeseItem();
                break;

            case ItemType.FRUIT:
                pb = new FruitItem();
                break;

            case ItemType.LIQUID:
                pb = new LiquidItem();
                break;

            case ItemType.MEAT:
                pb = new MeatItem();
                break;

            case ItemType.SHELF:
                pb = new ShelfItem();
                break;
            }

            if (gameObject.transform.parent == true)
            {
                pb.InstantiateParticles(collision.contacts[0].point, gameObject.transform.parent.gameObject);
            }
            else
            {
                pb.InstantiateParticles(collision.contacts[0].point, gameObject);
            }
        }
    }