Exemplo n.º 1
0
    public void OnDestroy()
    {
        allBottles.Remove(this);
        Instantiate(HomebrewGame.Me.prefabDeadBottle).transform.position = transform.position;
        GameAudio.Me.PlaySmash();

        if (Flags == PersistentInteraction.Combination(Elements.WATER, Elements.EARTH))
        {
            HazardMud.SpawnBlob(gameObject);
        }
        if (Flags == PersistentInteraction.Combination(Elements.FIRE, Elements.EARTH))
        {
            HazardMagma.SpawnBlob(gameObject);
        }
        if (Flags == PersistentInteraction.Combination(Elements.FIRE, Elements.WATER))
        {
            HazardSteam.SpawnBlob(gameObject);
        }
    }
Exemplo n.º 2
0
    // Because we can't have nice things . . . LIKE CONSTRUCTORS.
    public static void SpawnBlob(GameObject what)
    {
        float r = 0.01f;
        int   n = 32;

        for (int i = 0; i < n; i++)
        {
            Vector2    offset = new Vector2(Random.Range(-r, r), Random.Range(-r, r));
            GameObject blob   = Instantiate(HomebrewGame.Me.prefabHazardGassy, new Vector3(what.transform.position.x /* + offset.x*/,
                                                                                           what.transform.position.y /* + offset.y*/, 0f), Quaternion.identity);
            blob.GetComponentInChildren <SpriteRenderer>().sprite = HomebrewGame.Me.spritesSteam[Random.Range(0, HomebrewGame.Me.spritesSteam.Count - 1)];

            //Rigidbody2D body = blob.GetComponent<Rigidbody2D>();
            //body.AddForce(offset * 2f/* / 1.5f*/, ForceMode2D.Impulse);
            //body.angularVelocity = Random.Range(-2f, 2f);

            HomebrewFlags flags = blob.AddComponent <HomebrewFlags>();
            flags.Set(Elements.STEAM);

            HazardSteam nova = blob.AddComponent <HazardSteam>();
            nova.velocity        = offset;
            nova.angularVelocity = Random.Range(-0.4f, 0.4f);
        }
    }