Exemple #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (state == BronyState.Slamming)
        {
            state        = BronyState.Resting;
            restingTimer = restingTime;
            CameraShaker.Instance.ShakeOnce(7, 7, .5f, 1);

            color = (EnemyColor)Random.Range(1, 4);
            switch (color)
            {
            case EnemyColor.Green:
                spr.color = green;
                break;

            case EnemyColor.Purple:
                spr.color = purple;
                break;

            case EnemyColor.yellow:
                spr.color = yellow;
                break;

            case EnemyColor.Orange:
                spr.color = orange;
                break;
            }
        }

        if (collision.tag == "Player")
        {
            playerTransform.GetComponent <PlayerMovement>().Damage();
        }
    }
Exemple #2
0
    void Changecolor()
    {
        EnemyColor  e = new EnemyColor();
        BulletColor b = new BulletColor();

        e.sp.color = b.sp.color;
    }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        playerTransform = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();
        rb        = GetComponent <Rigidbody2D>();
        jumpTimer = jumpInterval;

        if (color == EnemyColor.None)
        {
            //TODO CHANGE TO 3 when yellow prefab is available
            color = (EnemyColor)Random.Range(1, 4);
            GameObject toSpawn = null;

            switch (color)
            {
            case EnemyColor.Green:
                toSpawn = greenPrefab;
                break;

            case EnemyColor.Purple:
                toSpawn = purplePrefab;
                break;

            case EnemyColor.yellow:
                toSpawn = yellowPrefab;
                break;

            case EnemyColor.Orange:
                toSpawn = orangePrefab;
                break;
            }

            Instantiate(toSpawn, transform);
            playPonySound();
        }
    }
Exemple #4
0
    // 敵を食べて得点を得る
    void EatEnemy(Collision collision)
    {
        for (int i = 0; i < (int)EnemyColor.max; ++i)
        {
            EnemyColor mEnemyColor = (EnemyColor)i;

            if (collision.gameObject.CompareTag(mEnemyColor.ToString()))
            {
                if (oldEnemyColor == mEnemyColor)
                {
                    ++combo;
                    score.Add(addScore * combo);
                }
                else
                {
                    oldEnemyColor = mEnemyColor;
                    combo         = 1;
                    score.Add(addScore);
                }
                ++totalEatNum;
                GetComponent <AudioSource>().PlayOneShot(GetComponent <Sound>().GetSE(2));
                Debug.Log(mEnemyColor.ToString() + "と接触");
                // Destroy(collision.gameObject);
            }
        }
        Debug.Log(combo + "コンボ");
        Debug.Log("敵を食べた数:" + totalEatNum);
    }
Exemple #5
0
 public void FireFire(EnemyColor color)
 {
     lastColor = color;
     animator.SetTrigger("Shoot");
     firePushTimer = firePushTime;
     playGuitarSound();
 }
    public Sprite Random(EnemyColor color)
    {
        int index =
            (int)UnityEngine.Random.Range(
                0, spritesByColor[color].Length);

        return GetSprite(color, index);
    }
Exemple #7
0
 public Enemy(EnemyType eType, Texture2D texture, EnemyColor eColor)
 {
     type = eType;
     color = eColor;
     sprite = texture;
     getStatsForType(type);
     base.Initialize();
 }
Exemple #8
0
 public Enemy(EnemyType eType, Texture2D texture, EnemyColor eColor)
 {
     type   = eType;
     color  = eColor;
     sprite = texture;
     getStatsForType(type);
     base.Initialize();
 }
 public EnemyModel(int health, float force, float torque, BulletVariants bulletVariants, EnemyColor tankColor)
 {
     Health         = health;
     Force          = force;
     Torque         = torque;
     BulletVariants = bulletVariants;
     TankColor      = tankColor;
     //Debug.Log("Health is " + Health);
 }
Exemple #10
0
        private void SpawnRandomAsteroid(EnemyType eType)
        {
            int        color  = rand.Next(0, 4);
            EnemyColor eColor = EnemyColor.NONE;

            switch (color)
            {
            case 0:
                eColor = EnemyColor.RED;
                break;

            case 1:
                eColor = EnemyColor.BLUE;
                break;

            case 2:
                eColor = EnemyColor.GREEN;
                break;

            case 3:
                eColor = EnemyColor.PURPLE;
                break;

            case 4:
                eColor = EnemyColor.PINK;
                break;
            }
            Enemy enemy     = new Enemy(eType, enemyTextures[eType.ToString() + "_" + eColor.ToString()], eColor);
            int   direction = rand.Next(0, 3); // Generate a number 0 - 3 [0, 1, 2, 3] to determine what side to spawn on.

            switch (direction)
            {
            case 0:     // Top
                enemy.Position = new Vector2(rand.Next(100, ActionScreen.background.Width - 100), 100);
                break;

            case 1:     // Bottom
                enemy.Position = new Vector2(rand.Next(100, ActionScreen.background.Width - 100), ActionScreen.background.Height - 100);
                break;

            case 2:     // Left
                enemy.Position = new Vector2(100, rand.Next(100, ActionScreen.background.Height - 100));
                break;

            case 3:     // Right
                enemy.Position = new Vector2(rand.Next(ActionScreen.background.Width + 50, ActionScreen.background.Width - 50), rand.Next(-50, ActionScreen.background.Height + 50));
                break;
            }
            enemy.Velocity      += new Vector2(rand.Next(-enemy.Speed, enemy.Speed), rand.Next(-enemy.Speed, enemy.Speed));
            enemy.Transformation = Matrix.CreateTranslation(new Vector3(-enemy.Center, 0.0f)) *
                                   // Matrix.CreateScale(block.Scale) *  would go here
                                   Matrix.CreateRotationZ(enemy.Angle) *
                                   Matrix.CreateTranslation(new Vector3(enemy.Position, 0.0f));
            enemies.Add(enemy);
            ParticleManager.particleEffects["WarpIn"].Trigger(enemy.Position);
        }
Exemple #11
0
    public GameObject GetParticles(EnemyColor _key)
    {
        GameObject temp = null;

        if (particlesDictionary.TryGetValue(_key, out temp))
        {
            return(temp);
        }
        else
        {
            return(null);
        }
    }
Exemple #12
0
    public Color GetColor(EnemyColor _key)
    {
        Color temp = Color.white;

        if (colorDictionary.TryGetValue(_key, out temp))
        {
            return(temp);
        }
        else
        {
            return(Color.white);
        }
    }
 public void SetColor(EnemyColor color)
 {
     if (this.level == null)
     {
         this.level = new EnemyLevel(color);
     }
     else if (color > EnemyColor.RED)
     {
         color = EnemyColor.RED;
     }
     else
     {
         this.level.Color = color;
     }
     isSpecial = level.Color.Equals(EnemyColor.RED);
 }
Exemple #14
0
    void SetMiddleEnemyStats()
    {
        //FIXME : temporary color.
        enemyColor  = EnemyColor.Red;
        enemySprite = redMiddle;

        maxHp     = 3;
        currentHp = maxHp;

        numberOfAttackDice  = 3;
        speciesOfAttackDice = BDice.Species.Four;

        numberOfDefenseDice  = 3;
        speciesOfDefenseDice = BDice.Species.Four;

        numberOfMoveDice  = 0;
        speciesOfMoveDice = BDice.Species.Six;
    }
Exemple #15
0
    void SetSmallestEnemyStats()
    {
        //FIXME : temporary color.
        enemyColor  = EnemyColor.Red;
        enemySprite = redSmallest;

        maxHp     = 2;
        currentHp = maxHp;

        numberOfAttackDice  = 2;
        speciesOfAttackDice = BDice.Species.Four;

        numberOfDefenseDice  = 2;
        speciesOfDefenseDice = BDice.Species.Four;

        numberOfMoveDice  = 1;
        speciesOfMoveDice = BDice.Species.Six;
    }
Exemple #16
0
        private void SpawnSpinnerGroup(int size)
        {
            //List<Enemy> group = new List<Enemy>();
            EnemyColor color_    = EnemyColor.NONE;
            int        direction = rand.Next(0, 3); // Generate a number 0 - 3 [0, 1, 2, 3] to determine what side to spawn on.

            for (int i = 0; i < 15; i++)
            {
                Enemy enemy;
                if (size == 0) // small
                {
                    color_ = EnemyColor.PINK;
                    enemy  = new Enemy(EnemyType.SMALL_SPINNER, enemyTextures[EnemyType.SMALL_SPINNER.ToString() + "_" + color_.ToString()], color_);
                }
                else
                {
                    color_ = EnemyColor.BLUE;
                    enemy  = new Enemy(EnemyType.LARGE_SPINNER, enemyTextures[EnemyType.SMALL_SPINNER.ToString() + "_" + color_.ToString()], color_);
                }
                switch (direction)
                {
                case 0:     // Top
                    enemy.Position = new Vector2(rand.Next(50, ActionScreen.background.Width - 50), 50);
                    enemy.VY      += enemy.Speed;
                    break;

                case 1:     // Bottom
                    enemy.Position = new Vector2(rand.Next(50, ActionScreen.background.Width - 50), ActionScreen.background.Height - 50);
                    enemy.VY      -= enemy.Speed;
                    break;

                case 2:     // Left
                    enemy.Position = new Vector2(100, rand.Next(50, ActionScreen.background.Height - 50));
                    enemy.VX      += enemy.Speed;
                    break;

                case 3:     // Right
                    enemy.Position = new Vector2(rand.Next(ActionScreen.background.Width + 50, ActionScreen.background.Width - 50), rand.Next(-50, ActionScreen.background.Height + 50));
                    enemy.VX      -= enemy.Speed;
                    break;
                }
                enemies.Add(enemy);
            }
        }
    public void SetRandomEnemy(GameObject newEnemy, int maxLevel)
    {
        int        randomValue = Random.Range(0, maxLevel);
        EnemyColor color       = (EnemyColor)randomValue;
        string     colorStr    = color.ToString() + "_";

        if ((int)color == 0)
        {
            colorStr = "";
        }

        EnemySize size       = (EnemySize)Random.Range(0, 6);
        string    enemySize  = size.ToString();
        string    spriteName = colorStr + enemySize;

        newEnemy.GetComponent <SpriteRenderer>().sprite = findEnemySpriteByName(spriteName.ToLower());
        newEnemy.GetComponent <EnemyController>().SetColor(color);
        newEnemy.GetComponent <EnemyController>().SetSize(size);
    }
    public static int GetScoreByColor(EnemyColor enemyColor)
    {
        switch (enemyColor)
        {
        case EnemyColor.GRAY:
            return(100);

        case EnemyColor.YELLOW:
            return(200);

        case EnemyColor.GREEN:
            return(300);

        case EnemyColor.RED:
            return(400);

        default:
            return(0);
        }
    }
Exemple #19
0
    public void ChangeColor(BasicEnemy.EnemyColor newColor)
    {
        color = newColor;
        Material mat = null;

        switch (color)
        {
        case EnemyColor.red:
            mat = redMat;
            break;

        case EnemyColor.green:
            mat = greenMat;
            break;

        case EnemyColor.blue:
            mat = blueMat;
            break;
        }
        ColorThings.material = mat;
    }
        private void ApplyMaterial(EnemyColor tankColor, EnemyView enemyView)
        {
            Material material = null;

            switch (tankColor)
            {
            case EnemyColor.GOLDEN:
                material = materialName[0];
                break;

            case EnemyColor.SILVER:
                material = materialName[1];
                break;

            case EnemyColor.YELLOW:
                material = materialName[2];
                break;
            }
            for (int i = 0; i < enemyView.transform.GetChild(0).childCount; i++)
            {
                enemyView.transform.GetChild(0).GetChild(i).GetComponent <MeshRenderer>().material = material;
            }
        }
Exemple #21
0
    private void Start()
    {
        color = (EnemyColor)Random.Range(0, 3);

        switch (color)
        {
        case EnemyColor.Magenta:
            col = Color.magenta;
            break;

        case EnemyColor.Green:
            col = Color.green;
            break;

        case EnemyColor.Cyan:
            col = Color.cyan;
            break;

        default:
            break;
        }
        GetComponent <SpriteRenderer>().color = col;
    }
Exemple #22
0
    public void ChooseColor()
    {
        int randInt = UnityEngine.Random.Range(0, 3);

        chosenColor = (EnemyColor)randInt;
        switch (chosenColor)
        {
        case EnemyColor.Magenta:
            col = Color.magenta;
            break;

        case EnemyColor.Green:
            col = Color.green;
            break;

        case EnemyColor.Cyan:
            col = Color.cyan;
            break;

        default:
            break;
        }
        enemyImage.color = col;
    }
Exemple #23
0
    private void Update()
    {
        if (playerTransform.position.x < transform.position.x)
        {
            spr.flipX = true;
        }
        else
        {
            spr.flipX = false;
        }

        if (actvated)
        {
            if (audioTimer <= 0)
            {
                audioSource.PlayOneShot(bronySounds[Random.Range(0, bronySounds.Count - 1)]);
                audioTimer = audioInterval;
            }
            else
            {
                audioTimer -= Time.deltaTime;
            }
            if (state == BronyState.Seeking)
            {
                float distanceToPlayer = Vector2.Distance(transform.position, playerTransform.position);
                rb.MovePosition(transform.position + (playerTransform.position - transform.position).normalized * speed * Time.deltaTime);
                if (distanceToPlayer <= distanceToSlam)
                {
                    state           = BronyState.Elevating;
                    rb.gravityScale = 0;
                }
            }

            if (state == BronyState.Elevating)
            {
                transform.position = Vector3.Lerp(transform.position, new Vector3(transform.position.x, slamHeight), slamRaiseSpeed);

                if (Vector2.Distance(transform.position, new Vector2(transform.position.x, slamHeight)) < .1f)
                {
                    state = BronyState.Hovering;
                }
            }

            if (state == BronyState.Hovering)
            {
                if (playerTarget == Vector2.zero)
                {
                    playerTarget = new Vector2(playerTransform.position.x, slamHeight);
                }

                transform.position = Vector2.Lerp(transform.position, playerTarget, slamRaiseSpeed);

                if (Vector2.Distance(transform.position, playerTarget) < .1f)
                {
                    playerTarget = Vector2.zero;
                    state        = BronyState.Slamming;
                }
            }

            if (state == BronyState.Slamming)
            {
                rb.gravityScale = 1;
                rb.AddForce(new Vector2(0, -1) * slamSpeed);
            }

            if (state == BronyState.Resting)
            {
                if (restingTimer <= 0)
                {
                    state     = BronyState.Seeking;
                    spr.color = Color.white;
                    color     = EnemyColor.None;
                }
                else
                {
                    restingTimer -= Time.deltaTime;
                }
            }
        }
    }
 public Sprite GetSprite(EnemyColor color, int index)
 {
     return spritesByColor[color][index];
 }
 public EnemyLevel(EnemyColor color)
 {
     this.Color      = color;
     this.startColor = color;
 }
 string EnemyColorName(EnemyColor color)
 {
     return colorNames[(int)color];
 }
 Sprite[] LoadByColor(EnemyColor enemyColor)
 {
     string path = "Sprites/Enemies/" + EnemyColorName(enemyColor);
     return Resources.LoadAll<Sprite>(path);
 }
Exemple #28
0
    public bool isRound;/// 是否处于出牌阶段

    public Enemy(EnemyType enemyType, EnemyColor enemyColor) : base(600, 10)
    {
        this.enemyType  = enemyType;
        this.enemyColor = enemyColor;
        cardManager     = new EnemyCardManager();
    }