Example #1
0
    protected virtual void Start()
    {
        timer             = 0;
        movementBehaviour = GetComponent <EnemyMovementBehavior>();
        color             = ColorAttribute.COLOR_TYPE.YELLOW;
        sr        = GetComponent <SpriteRenderer>();
        sr.sprite = sprites[3];
        color     = (ColorAttribute.COLOR_TYPE)UnityEngine.Random.Range(0, 3);
        if (sr)
        {
            switch (color)
            {
            case ColorAttribute.COLOR_TYPE.GREEN:
                sr.sprite = sprites[0];
                break;

            case ColorAttribute.COLOR_TYPE.MAGENTA:
                sr.sprite = sprites[1];
                break;

            case ColorAttribute.COLOR_TYPE.ORANGE:
                sr.sprite = sprites[2];
                break;
            }
        }
        tag             = "Enemy";
        orderingLayer   = Mathf.RoundToInt(transform.position.y * 100f) * -1;
        sr.sortingOrder = orderingLayer;
    }
Example #2
0
 public void TakeDamage(ColorAttribute.COLOR_TYPE element, GameObject _player)
 {
     player = _player;
     if (element == balloonElement)
     {
         onDeath(this);
     }
 }
Example #3
0
 public void Shoot(Vector2 directionection, ColorAttribute.COLOR_TYPE _element, GameObject _player)
 {
     shoot          = true;
     colorType      = _element;
     player         = _player;
     direction      = directionection;
     rigid.velocity = direction * speed;
     UpdateColor();
 }
Example #4
0
 public void Shoot(Vector2 dir, int _damage, ColorAttribute.COLOR_TYPE _element, GameObject _player, bool _critical, bool penetrate)
 {
     direction      = dir;
     damage         = _damage;
     colorType      = _element;
     player         = _player;
     rigid.velocity = direction * speed;
     critical       = _critical;
     penetrating    = penetrate;
     UpdateColor();
 }
Example #5
0
    private bool CheckColor(ColorAttribute.COLOR_TYPE element)
    {
        switch (element)
        {
        case ColorAttribute.COLOR_TYPE.GREEN:
            return(rend.sprite == colorSprites[0]);

        case ColorAttribute.COLOR_TYPE.MAGENTA:
            return(rend.sprite == colorSprites[1]);

        case ColorAttribute.COLOR_TYPE.ORANGE:
            return(rend.sprite == colorSprites[2]);

        case ColorAttribute.COLOR_TYPE.YELLOW:
            return(rend.sprite == colorSprites[3]);
        }
        return(false);
    }
Example #6
0
    private int CalculateElementalDamage(int damage, ColorAttribute.COLOR_TYPE playerOrb, ColorAttribute.COLOR_TYPE enemyOrb)
    {
        float pureDamage = damage;

        if (playerOrb == enemyOrb)
        {
            pureDamage *= 0.6f;
        }
        else
        {
            pureDamage *= 0.1f;
        }
        if (pureDamage < 1)
        {
            pureDamage = 1;
        }
        return((int)pureDamage);
    }
Example #7
0
    private void Start()
    {
        balloonElement = (ColorAttribute.COLOR_TYPE)UnityEngine.Random.Range(0, 3);
        sr             = GetComponent <SpriteRenderer>();
        switch (balloonElement)
        {
        case ColorAttribute.COLOR_TYPE.GREEN:
            sr.sprite = sprites[0];
            break;

        case ColorAttribute.COLOR_TYPE.MAGENTA:
            sr.sprite = sprites[1];
            break;

        case ColorAttribute.COLOR_TYPE.ORANGE:
            sr.sprite = sprites[2];
            break;

        case ColorAttribute.COLOR_TYPE.YELLOW:
            sr.sprite = sprites[4];
            break;
        }
    }