示例#1
0
    // Use this for initialization
    protected virtual void Awake()
    {
        switch (slimeType)
        {
        case PlayerSlime.SlimeType.BLUE:
            player = GameObject.Find("BlueSlime(Clone)");
            break;

        case PlayerSlime.SlimeType.RED:
            player = GameObject.Find("RedSlime(Clone)");
            break;

        case PlayerSlime.SlimeType.GREEN:
            player = GameObject.Find("GreenSlime(Clone)");
            break;

        case PlayerSlime.SlimeType.YELLOW:
            player = GameObject.Find("YellowSlime(Clone)");
            break;
        }

        sp = GetComponentInChildren <SpriteRenderer>();
        slimePlayerScript = player.GetComponent <PlayerSlime>();          //Get the player's script
        slimeShotTarget   = slimePlayerScript.Reticle.transform.position; //The target of the slime shot
        rBody             = GetComponent <Rigidbody2D>();                 //Get the slime shot's rigidbody

        damage = slimePlayerScript.SlimeShotDamage;
    }
示例#2
0
    protected override void SlimeAttack2()
    {
        if (input.special != 0 && health > SlimeBurstCost && slimeAttack2Available)
        {
            //sound effect
            SoundManager.instance.RandomizeSFx(redSpec, redSpec2);
            StartCoroutine(DisplayHealBurst());
            Collider2D[] cols = Physics2D.OverlapCircleAll(transform.position, SlimeBurstRange);
            //Debug.DrawLine(gameObject.transform.position, new Vector3(transform.position.x + SlimeBurstRange, transform.position.y, transform.position.z), Color.black, 4);

            foreach (Collider2D thing in cols)
            {
                if (thing.tag == "Player")// the slime burst has hit a player
                {
                    PlayerSlime slimePlayer = thing.GetComponent <PlayerSlime>();

                    if (slimePlayer.SlimerType != PlayerSlime.SlimeType.RED)
                    {
                        slimePlayer.Health += 100; //kill enemy
                    }
                }
            }

            ModHealth(-SlimeBurstCost); //decrease players health by the cost of the attack
            StartCoroutine(SlimeAttack2Cooldown());
        }
    }
示例#3
0
    // Use this for initialization

    void Start()
    {
        slime    = GetComponent <PlayerSlime>();
        maxScale = indicator.GetChild(0).localScale.x;
        minScale = indicator.GetChild(1).localScale.x;
    }