UnityGameProjectsCode / Rise2Point0Game / Player / PlayerDeathEffects.cs
PlayerDeathEffects.cs
Raw
using UnityEngine;

public class PlayerDeathEffects : MonoBehaviour
{
    public GameObject deathParticles;
    public GameObject envObjects;
    public GameObject playerAnimated;
    public Sprite playerCircle;
    public Sprite playerSquare;
    public Sprite playerDiamond;
    public Sprite playerHexagon;

    public void CreateDeathParticles()
    {
        GameObject particles = Instantiate(deathParticles as GameObject, transform);
        particles.transform.parent = envObjects.transform;

        var main = particles.GetComponent<ParticleSystem>().main;
        Color playerSpriteColor = GetComponent<SpriteRenderer>().color;

        Color newColor = new Color(playerSpriteColor.r, playerSpriteColor.g, playerSpriteColor.b, 0.5f);

        main.startColor = newColor;
    }

    public void CreateAnimatedPlayerObject()
    {
        GameObject playerAnim = Instantiate(playerAnimated as GameObject, transform);
        playerAnim.transform.parent = envObjects.transform;

        Color playerSpriteColor = GetComponent<SpriteRenderer>().color;
        string playerSpriteName = GetComponent<SpriteRenderer>().sprite.name;

        SpriteRenderer animSprite = playerAnim.GetComponent<SpriteRenderer>();

        if (playerSpriteName.Contains("Circle"))
            animSprite.sprite = playerCircle;
        else if (playerSpriteName.Contains("Square"))
            animSprite.sprite = playerSquare;
        else if (playerSpriteName.Contains("Hexagon"))
            animSprite.sprite = playerHexagon;
        else if (playerSpriteName.Contains("Diamond"))
            animSprite.sprite = playerDiamond;

        animSprite.color = playerSpriteColor;
    }

    public void SetDeathParticles(GameObject newParticles)
    {
        deathParticles = newParticles;
    }
}