예제 #1
0
        public void SequentialEnemies()
        {
            String str = @"[
              { ""time"": 100, ""type"": 0, ""x"":10, ""y"": 60},
              { ""time"": 200, ""type"": 1, ""x"":20, ""y"": 70},
              { ""time"": 300, ""type"": 2, ""x"":30, ""y"": 80},
              { ""time"": 400, ""type"": 3, ""x"":40, ""y"": 90},
              { ""time"": 500, ""type"": 4, ""x"":50, ""y"": 100},
            ";
            Dictionary <int, List <AbstractEnemy> > story
                = ScenarioReader.Read(str);

            Assert.IsInstanceOfType(story[100][0], typeof(Enemy0));
            Assert.IsInstanceOfType(story[200][0], typeof(Enemy1));
            Assert.IsInstanceOfType(story[300][0], typeof(Enemy2));
            Assert.IsInstanceOfType(story[400][0], typeof(Enemy3));
            Assert.IsInstanceOfType(story[500][0], typeof(Enemy4));

            Enemy0 e0 = (Enemy0)story[100][0];
            Enemy1 e1 = (Enemy1)story[200][0];
            Enemy2 e2 = (Enemy2)story[300][0];
            Enemy3 e3 = (Enemy3)story[400][0];
            Enemy4 e4 = (Enemy4)story[500][0];

            Assert.AreEqual(10, e0.X);
            Assert.AreEqual(60, e0.Y);
            Assert.AreEqual(20, e1.X);
            Assert.AreEqual(70, e1.Y);
            Assert.AreEqual(30, e2.X);
            Assert.AreEqual(80, e2.Y);
            Assert.AreEqual(40, e3.X);
            Assert.AreEqual(90, e3.Y);
            Assert.AreEqual(50, e4.X);
            Assert.AreEqual(100, e4.Y);
        }
예제 #2
0
        public void Enemy3Movement()
        {
            ViewModel vm    = new ViewModel();
            Enemy3    enemy = new Enemy3(200, 0);

            Assert.AreEqual("ms-appx:///Images/enemy3.png",
                            enemy.Source.UriSource.AbsoluteUri);

            vm.AddEnemy(enemy);
            Assert.AreEqual(0, enemy.SpeedX);
            Assert.AreEqual(1, enemy.SpeedY);

            Assert.AreEqual(0, vm.Bullets.Count);
            for (int i = 0; i < 100; i += 10)
            {
                Assert.AreEqual(200, enemy.X);
                Assert.AreEqual(i, enemy.Y);
                vm.Tick(10);
            }
            Assert.AreEqual(1, vm.Bullets.Count);

            for (int i = 100; i < 200; i += 10)
            {
                Assert.AreEqual(200, enemy.X);
                Assert.AreEqual(i, enemy.Y);
                vm.Tick(10);
            }
            Assert.AreEqual(1, vm.Bullets.Count);
        }
예제 #3
0
        private void PlaceEnemies(Double left, Double top)
        {
            Enemy1.Move(Enemy1.Left + left, Enemy1.Top + top);
            Enemy2.Move(Enemy1.Left + GameConfigurations.EnemyWidth * 1.5, Enemy1.Top);
            Enemy3.Move(Enemy2.Left + GameConfigurations.EnemyWidth * 1.5, Enemy1.Top);
            Enemy4.Move(Enemy3.Left + GameConfigurations.EnemyWidth * 1.5, Enemy1.Top);

            Enemy5.Move(Enemy1.Left * 1.5, Enemy1.Top + GameConfigurations.EnemyHeight * 1.5);
            Enemy6.Move(Enemy5.Left + GameConfigurations.EnemyWidth * 1.5, Enemy5.Top);
            Enemy7.Move(Enemy6.Left + GameConfigurations.EnemyWidth * 1.5, Enemy5.Top);
            Enemy8.Move(Enemy7.Left + GameConfigurations.EnemyWidth * 1.5, Enemy5.Top);

            Enemy9.Move(Enemy1.Left * 1.25, Enemy5.Top + GameConfigurations.EnemyHeight * 1.5);
            Enemy10.Move(Enemy9.Left + GameConfigurations.EnemyWidth * 1.5, Enemy9.Top);
            Enemy11.Move(Enemy10.Left + GameConfigurations.EnemyWidth * 1.5, Enemy9.Top);
            Enemy12.Move(Enemy11.Left + GameConfigurations.EnemyWidth * 1.5, Enemy9.Top);

            Enemy13.Move(Enemy1.Left * 1.5, Enemy10.Top + GameConfigurations.EnemyHeight * 1.5);
            Enemy14.Move(Enemy13.Left + GameConfigurations.EnemyWidth * 1.5, Enemy13.Top);
            Enemy15.Move(Enemy14.Left + GameConfigurations.EnemyWidth * 1.5, Enemy13.Top);
            Enemy16.Move(Enemy15.Left + GameConfigurations.EnemyWidth * 1.5, Enemy13.Top);

            Enemy17.Move(Enemy1.Left, Enemy13.Top + GameConfigurations.EnemyHeight * 1.5);
            Enemy18.Move(Enemy17.Left + GameConfigurations.EnemyWidth * 1.5, Enemy17.Top);
            Enemy19.Move(Enemy18.Left + GameConfigurations.EnemyWidth * 1.5, Enemy17.Top);
            Enemy20.Move(Enemy19.Left + GameConfigurations.EnemyWidth * 1.5, Enemy17.Top);
        }
예제 #4
0
 // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     localScale = animator.transform.localScale;
     playerPos  = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();
     rb         = animator.GetComponent <Rigidbody2D>();
     enemy3     = animator.GetComponent <Enemy3>();
     timer      = Random.Range(minTime, maxTime);
 }
 void Start()
 {
     enemy    = GetComponent <EnemyMove>();
     enemyBos = GetComponent <EnemyBos>();
     enemy2   = GetComponent <Enemy2>();
     enemy3   = GetComponent <Enemy3>();
     enemy4   = GetComponent <Enemy4>();
 }
예제 #6
0
 void Update()
 {
     rb     = GetComponent <Rigidbody2D>();
     boss   = GetComponent <Boss>();
     enemy2 = GetComponent <Enemy2>();
     enemy3 = GetComponent <Enemy3>();
     enemy4 = GetComponent <Enemy4>();
 }
예제 #7
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag.Equals("Player") && !isByPlayerCreated)
        {
            Debug.Log("Collison with Player");

            Player player = col.gameObject.GetComponent <Player>();
            PlayerRecord.health -= damage;
            //Debug.Log("Life of player: " + PlayerRecord.health);
        }
        else if (isByPlayerCreated)
        {
            if (col.gameObject.tag.Equals("Enemy1"))
            {
                Debug.Log("Collison with Enemy1");

                Enemy1 enemy1 = col.gameObject.GetComponent <Enemy1>();
                enemy1.setHealth(enemy1.getHealth() - damage);
                //Debug.Log("Life of Enemy1: " + enemy1.getHealth());
            }

            else if (col.gameObject.tag.Equals("Enemy2"))
            {
                Debug.Log("Collison with Enemy2");

                Enemy2 enemy2 = col.gameObject.GetComponent <Enemy2>();
                enemy2.setHealth(enemy2.getHealth() - damage);
                //Debug.Log("Life of Enemy2: " + enemy2.getHealth());
            }
            else if (col.gameObject.tag.Equals("Enemy3"))
            {
                Debug.Log("Collison with Enemy3");

                Enemy3 enemy3 = col.gameObject.GetComponent <Enemy3>();
                enemy3.setHealth(enemy3.getHealth() - damage);
                //Debug.Log("Life of Enemy3: " + enemy3.getHealth());
            }
            else if (col.gameObject.tag.Equals("Enemy4"))
            {
                Debug.Log("Collison with Enemy4");

                Enemy4 enemy4 = col.gameObject.GetComponent <Enemy4>();
                enemy4.setHealth(enemy4.getHealth() - damage);
                //Debug.Log("Life of Enemy4: " + enemy4.getHealth());
            }
        }
        else if (col.gameObject.tag.Equals("FireBall"))
        {
            bool isByPlayerCreatedColFireBall = col.gameObject.GetComponent <FireBall>().getIsByPlayerCreated();
            if (isByPlayerCreated ^ isByPlayerCreatedColFireBall)
            {
                //Debug.Log("Fireball is destroyed");
                Destroy(col.gameObject);
                Destroy(gameObject);
            }
        }
    }
예제 #8
0
    void Damage3(Transform enemy3)
    {
        Enemy3 e = enemy3.GetComponent <Enemy3>();

        if (e != null)
        {
            e.TakeDamage(BulletDamage);
        }
    }
예제 #9
0
    public void RandomAI()
    {
        bool rightLane = false;

        while (!rightLane)
        {
            double rnd = SplashKit.Rnd();
            if (rnd > 0.4)
            {
                AI newAI = new Enemy1();
                if (CheckLane(newAI))
                {
                    _ai.Add(newAI);
                    rightLane = true;
                }
            }
            if (rnd <= 0.4 && rnd > 0.2)
            {
                AI newAI = new Enemy2();
                if (CheckLane(newAI))
                {
                    _ai.Add(newAI);
                    rightLane = true;
                }
            }
            if (rnd <= 0.2 && rnd > 0.1)
            {
                AI newAI = new Enemy3();
                if (CheckLane(newAI))
                {
                    _ai.Add(newAI);
                    rightLane = true;
                }
            }
            if (rnd <= 0.1 && rnd > 0.03)
            {
                AI newAI = new Reward1();
                if (CheckLane(newAI))
                {
                    _ai.Add(newAI);
                    rightLane = true;
                }
            }
            if (rnd <= 0.03)
            {
                AI newAI = new Reward2();
                if (CheckLane(newAI))
                {
                    _ai.Add(newAI);
                    rightLane = true;
                }
            }
        }
    }
예제 #10
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        Enemy enemy = hitInfo.GetComponent <Enemy>();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
            Destroy(gameObject);
        }

        Enemy2 enemy2 = hitInfo.GetComponent <Enemy2>();

        if (enemy2 != null)
        {
            enemy2.TakeDamage(damage);
            Destroy(gameObject);
        }

        Enemy3 enemy3 = hitInfo.GetComponent <Enemy3>();

        if (enemy3 != null)
        {
            enemy3.TakeDamage(damage);
            Destroy(gameObject);
        }

        Enemy4 enemy4 = hitInfo.GetComponent <Enemy4>();

        if (enemy4 != null)
        {
            enemy4.TakeDamage(damage);
            Destroy(gameObject);
        }

        Boss1 boss1 = hitInfo.GetComponent <Boss1>();

        if (boss1 != null)
        {
            boss1.TakeDamage(damage);
            Destroy(gameObject);
        }

        Boss2 boss2 = hitInfo.GetComponent <Boss2>();

        if (boss2 != null)
        {
            boss2.TakeDamage(damage);
            Destroy(gameObject);
        }
    }
예제 #11
0
        static internal Dictionary <int, List <AbstractEnemy> > Read(String content)
        {
            Dictionary <int, List <AbstractEnemy> > story
                = new Dictionary <int, List <AbstractEnemy> >();

            var json = (dynamic)JsonConvert.DeserializeObject(content);

            foreach (var e in json)
            {
                long time = e["time"].Value;
                long type = e["type"].Value;
                long x    = e["x"].Value;
                long y    = e["y"].Value;
                long sx   = e["sx"]?.Value ?? 0;
                long sy   = e["sy"]?.Value ?? 0;

                AbstractEnemy enemy = null;
                switch (type)
                {
                case 0: enemy = new Enemy0(x, y); break;

                case 1: enemy = new Enemy1(x, y); break;

                case 2:
                    double t = sx > 0 ? -1 : +1;
                    enemy = new Enemy2(x, y, sx, sy, t);
                    break;

                case 3: enemy = new Enemy3(x, y); break;

                case 4: enemy = new Enemy4(x, y); break;
                }

                List <AbstractEnemy> enemies;
                if (story.ContainsKey((int)time))
                {
                    enemies = story[(int)time];
                }
                else
                {
                    enemies          = new List <AbstractEnemy>();
                    story[(int)time] = enemies;
                }

                enemies.Add(enemy);
            }
            return(story);
        }
예제 #12
0
    private void OnTriggerEnter(Collider other)                  // Collision between a bullet and an enemy
    {
        Enemy1 temp  = other.gameObject.GetComponent <Enemy1>(); // Collision with enemy1 set to temp
        Enemy2 temp2 = other.gameObject.GetComponent <Enemy2>(); // Collision with enemy2 set to temp2
        Enemy3 temp3 = other.gameObject.GetComponent <Enemy3>(); // Collision with enemy3 set to temp3

        if (temp != null)                                        // If the bullet collides with enemy1
        {
            temp.SetHealth(temp.GetHealth() + damagerate);       // Remove 1 HP from enemy1
        }
        if (temp2 != null)                                       // If the bullet collides with enemy2
        {
            temp2.SetHealth(temp2.GetHealth() + damagerate);     // Remove 1 HP from enemy2
        }
        if (temp3 != null)                                       // If the bullet collides with enemy3
        {
            temp3.SetHealth(temp3.GetHealth() + damagerate);     // Remove 1 HP from enemy3
        }
    }
예제 #13
0
    void Update()
    {
        if (Input.GetButtonDown("Fire1") && Time.time > nextFire)
        {
            nextFire = Time.time + fireRate;
            StartCoroutine(ShotTraceFX());

            Vector3    rayOrigin = fpsCam.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0));
            RaycastHit hit;
            laserLine.SetPosition(0, bezzel.position);

            if (Physics.Raycast(rayOrigin, fpsCam.transform.forward, out hit))
            {
                laserLine.SetPosition(1, hit.point);

                Enemy1 target1 = hit.transform.GetComponent <Enemy1>();
                if (target1 != null)
                {
                    target1.TakeDamage(DMG);
                }

                Enemy2 target2 = hit.transform.GetComponent <Enemy2>();
                if (target2 != null)
                {
                    target2.TakeDamage2(DMG);
                }

                Enemy3 target3 = hit.transform.GetComponent <Enemy3>();
                if (target3 != null)
                {
                    target3.TakeDamage3(DMG);
                }
                if (hit.rigidbody != null)
                {
                    hit.rigidbody.AddForce(-hit.normal * 1555);
                }
            }
            else
            {
                laserLine.SetPosition(1, rayOrigin + (fpsCam.transform.forward * 100));
            }
        }
    }
예제 #14
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "Boss")
     {
         GetComponent <Animator>().SetTrigger("impact");
         rb.velocity = transform.right * 0;
         GameObject gO = collision.gameObject;
         boss = gO.GetComponent <Boss>();
         float damage = PlayerPrefs.GetFloat("playerDamge");
         boss.SendMessageUpwards("Damage", damage);
         boss.gO(gO);
     }
     else if (collision.tag == "Enemy2")
     {
         GetComponent <Animator>().SetTrigger("impact");
         rb.velocity = transform.right * 0;
         GameObject gO = collision.gameObject;
         enemy2 = gO.GetComponent <Enemy2>();
         float damage = PlayerPrefs.GetFloat("playerDamge");
         enemy2.SendMessageUpwards("Damage", damage);
         enemy2.gO(gO);
     }
     else if (collision.tag == "Enemy3")
     {
         GetComponent <Animator>().SetTrigger("impact");
         rb.velocity = transform.right * 0;
         GameObject gO = collision.gameObject;
         enemy3 = gO.GetComponent <Enemy3>();
         float damage = PlayerPrefs.GetFloat("playerDamge");
         enemy3.SendMessageUpwards("Damage", damage);
         enemy3.gO(gO);
     }
     else if (collision.tag == "Enemy4")
     {
         GetComponent <Animator>().SetTrigger("impact");
         rb.velocity = transform.right * 0;
         GameObject gO = collision.gameObject;
         enemy4 = gO.GetComponent <Enemy4>();
         float damage = PlayerPrefs.GetFloat("playerDamge");
         enemy4.SendMessageUpwards("Damage", damage);
         enemy4.gO(gO);
     }
 }
예제 #15
0
        /// <summary>
        ///
        /// </summary>
        public GameModel()
        {
            GameModel.XDistanceBetweenSprites    = 100;
            GameModel.YDistanceBetweenSprites    = 300;
            GameModel.YDistanceBetweenStars      = 50;
            GameModel.YDistanceBetweenStars      = 200;
            GameModel.YDistanceBetweenBlueStars  = 50;
            GameModel.YDistanceBetweenSmallStars = 200;
            GameModel.LeftDisplayBorder          = 50;
            GameModel.RightDisplayBorder         = 200;
            GameModel.BottomDisplayBorder        = 140;

            _background = new Background();

            _enemies[0] = new Enemy1(4, 3);
            _enemies[1] = new Enemy2(4, 3);
            _enemies[2] = new Enemy3(4, 3);
            _enemies[3] = new Enemy4(4, 3);

            _spaceShip = new AnimatedSprite(5, 4);

            for (int i = 0; i < _meteors.Length; i++)
            {
                _meteors[i] = new Meteor(9, 8);
            }

            for (int i = 0; i < _stars.Length; i++)
            {
                _stars[i]       = new Star(15, 7);
                _stars[i].Speed = new Vector2(0, 0.5f);
            }

            for (int i = 0; i < _fastStars.Length; i++)
            {
                _fastStars[i]       = new Star(15, 10);
                _fastStars[i].Speed = new Vector2(0, 1f);
            }

            _InitializeLives();

            _progress = new ProgressSprite();
        }
예제 #16
0
    public void createEnemy3()
    {
        float initialeYPosition = Random.Range(groundTopY + enemy3Height, topCameraBorder - enemy3Height);

        if (Random.Range(0, 2) == 0)
        {
            Enemy3 enemy3 = Instantiate(GameObject.Find("Enemy3").GetComponent <Enemy3>(),
                                        new Vector3(leftBorderX, initialeYPosition, 0.0f), Quaternion.identity);

            enemy3.transform.rotation = new Quaternion(0, 0, 0, 0);
            enemy3.setDirection(1);
        }
        else
        {
            Enemy3 enemy3 = Instantiate(GameObject.Find("Enemy3").GetComponent <Enemy3>(),
                                        new Vector3(rightBorderX, initialeYPosition, 0.0f), Quaternion.identity);

            enemy3.transform.rotation = new Quaternion(0, 180, 0, 0);
            enemy3.setDirection(-1);
        }
    }
예제 #17
0
    void Shoot()
    {
        muzzleFlash.Play();


        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))
        {
            Debug.Log(hit.transform.name);

            Enemy  enemy  = hit.transform.GetComponent <Enemy>();
            Enemy2 enemy2 = hit.transform.GetComponent <Enemy2>();
            Enemy3 enemy3 = hit.transform.GetComponent <Enemy3>();

            if (enemy != null)
            {
                enemy.TakeDamage(damage);
                GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
                Destroy(impactGO, 1f);
            }

            if (enemy2 != null)
            {
                enemy2.TakeDamage(damage);
                GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
                Destroy(impactGO, 1f);
            }

            if (enemy3 != null)
            {
                enemy3.TakeDamage(damage2);
                GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
                Destroy(impactGO, 1f);
            }

            GameObject impactGO2 = Instantiate(impactEffect2, hit.point, Quaternion.LookRotation(hit.normal));
            Destroy(impactGO2, 0.1f);
        }
    }
예제 #18
0
    private void OnTriggerEnter2D(Collider2D collider)
    {
        if (collider.GetComponent <AreaCamera>() == null &&
            collider.CompareTag("Water") == false) // Não é uma câmera nem água
        {
            Debug.Log("Bullet hit " + collider.name);

            Enemy1 enemy1 = collider.GetComponent <Enemy1>();
            Enemy2 enemy2 = collider.GetComponent <Enemy2>();
            Enemy3 enemy3 = collider.GetComponent <Enemy3>();
            Boss   boss   = collider.GetComponent <Boss>();
            Player player = collider.GetComponent <Player>();
            if (enemy1 != null) // É um inimigo
            {
                enemy1.TakeDamage(bulletDamage);
            }
            else if (enemy2 != null)
            {
                enemy2.TakeDamage(bulletDamage);
            }
            else if (boss != null)
            {
                boss.TakeDamage(bulletDamage);
            }
            else if (enemy3 != null)
            {
                enemy3.TakeDamage(bulletDamage);
            }
            else if (player != null)
            {
                player.TakeDamage(bulletDamage);
            }

            Destroy(gameObject);

            Instantiate(impactEffect, transform.position, transform.rotation);
        }
    }
예제 #19
0
    private void OnTriggerEnter2D(Collider2D collider)
    {
        if (collider.GetComponent <AreaCamera>() == null &&
            collider.GetComponent <Player>() == null) // Não é uma câmera nem o Player
        {
            Enemy1 enemy1 = collider.GetComponent <Enemy1>();
            Enemy2 enemy2 = collider.GetComponent <Enemy2>();
            Enemy3 enemy3 = collider.GetComponent <Enemy3>();
            Enemy4 enemy4 = collider.GetComponent <Enemy4>();
            Boss   boss   = collider.GetComponent <Boss>();
            if (enemy1 != null) // É um inimigo
            {
                enemy1.TakeDamage(bulletDamage);
            }
            else if (enemy2 != null)
            {
                enemy2.TakeDamage(bulletDamage);
            }
            else if (enemy3 != null)
            {
                enemy3.TakeDamage(bulletDamage);
            }
            else if (enemy4 != null)
            {
                enemy4.TakeDamage(bulletDamage);
            }
            else if (boss != null)
            {
                boss.TakeDamage(bulletDamage);
            }

            Destroy(gameObject);

            Instantiate(impactEffect, transform.position, transform.rotation);
        }
    }
예제 #20
0
 public E3_IdleState(Entity entity, FiniteStateMachine stateMachine, string animBoolName, D_IdleState stateData, Enemy3 enemy) : base(entity, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
예제 #21
0
파일: EmenyScr.cs 프로젝트: Lan-megumi/MaNa
    /// <summary>
    ///	单个敌人实例化
    /// </summary>
    public void NewEmeny(int i)
    {
        if (i == 1)
        {
            Emeny1 Newemeny = new Emeny1();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            TextName.text = Newemeny.GetName;
            // enemyAi[0]=Newemeny;
            Headportrait = Newemeny.GetHeadportrait;
        }
        else if (i == 2)
        {
            Emeny2 Newemeny = new Emeny2();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            TextName.text = Newemeny.GetName;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            Headportrait  = Newemeny.GetHeadportrait;
            // enemyAi[0]=Newemeny;
        }
        else if (i == 3)
        {
            Enemy3 Newemeny = new Enemy3();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Avd           = Newemeny.Avd;
            Agi           = Newemeny.Agi;
            Headportrait  = Newemeny.GetHeadportrait;
            TextName.text = Newemeny.GetName;
            // double [] b={0};
            // Debug.Log(enemyAi);
            // enemyAi[0]=Newemeny;
            enemyAi.Add(Newemeny);
        }
        else if (i == 4)
        {
            Enemy4 Newemeny = new Enemy4();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Headportrait  = Newemeny.GetHeadportrait;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            TextName.text = Newemeny.GetName;
            enemyAi.Add(Newemeny);
        }
        else if (i == 5)
        {
            Enemy5 Newemeny = new Enemy5();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            Headportrait  = Newemeny.GetHeadportrait;
            TextName.text = Newemeny.GetName;
            enemyAi.Add(Newemeny);
        }
        else if (i == 6)
        {
            Enemy6 Newemeny = new Enemy6();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            Headportrait  = Newemeny.GetHeadportrait;
            TextName.text = Newemeny.GetName;
            enemyAi.Add(Newemeny);
        }
        else if (i == 99)
        {
            Enemy99 Newemeny = new Enemy99();
            Newemeny.initdate();
            EnemyHp       = Newemeny.GetHp;
            Agi           = Newemeny.Agi;
            Avd           = Newemeny.Avd;
            Headportrait  = Newemeny.GetHeadportrait;
            TextName.text = Newemeny.GetName;
            // double [] b={0};
            Debug.Log(enemyAi);
            // enemyAi[0]=Newemeny;
            enemyAi.Add(Newemeny);
        }

        else
        {
            Debug.Log("Input wrong!The enmey" + i + " no Found!");
        }
        if (EnemyHp != 0)
        {
            EnemyMaxHp = EnemyHp;
            Update_HpSlider(EnemyMaxHp, EnemyHp);
        }
    }
예제 #22
0
 public void Enter(Enemy3 enemy1)
 {
     this.enemy = enemy1;
     animator   = enemy.GetComponent <Animator>();
     canattacc  = false;
 }
예제 #23
0
    // 적을 생성하고 생성한 적에게 추적할 대상을 할당
    public void CreateEnemy(int wave)
    {
        // 생성할 위치를 랜덤으로 결정
        // Transform spawnPoint = spawnPoints[Random.Range(0, spawnPoints.Length)];
        float      xPos  = 0;
        float      yPos  = 0;
        float      zPos  = 0;
        float      angle = Random.Range(-60f, 60f);
        Quaternion qRot  = Quaternion.Euler(0f, angle, 0f);

        switch (wave)
        {
        case 1:     // wave1 //로켓런처(Enemy2)
        {
            xPos = 243.7f;
            yPos = 4.2f;
            zPos = 1997.4f;
            Enemy2 createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 246.11f;
            yPos         = 7.88f;
            zPos         = 1997.25f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 240.81f;
            yPos         = 0.06f;
            zPos         = 1998.23f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
        }
        break;

        case 2:     //wave2 //1:어그로공격
        {
            for (int i = 0; i < 5; ++i)
            {
                xPos = Random.Range(-40f, -58.5f);
                zPos = Random.Range(1989.7f, 1964.8f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy.setAIType(0);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 2; ++i)
            {
                xPos = Random.Range(-40f, -58.5f);
                zPos = Random.Range(1989.7f, 1964.8f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 3:     // wave3 //3:배회
        {
            for (int i = 0; i < 3; ++i)
            {
                xPos = Random.Range(-108.3f, -79.5f);
                zPos = Random.Range(2030.1f, 2011.4f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 2; ++i)
            {
                xPos = Random.Range(-140f, -121.1f);
                zPos = Random.Range(2030.1f, 1993.2f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 1; ++i)
            {
                xPos = Random.Range(-140f, -127.2f);
                zPos = Random.Range(2040.6f, 2031.7f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 4:     //wave4 //1:어그로
        {
            for (int i = 0; i < 5; ++i)
            {
                xPos = Random.Range(-303.1f, -287.6f);
                zPos = Random.Range(2014.9f, 1991.2f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy.setAIType(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 5:     // wave5 //4:전차
        {
            //xPos = Random.Range(-303.1f, -287.6f);
            //zPos = Random.Range(2014.9f, 1991.2f);
            //Enemy4 createdEnemy = Instantiate(enemyPrefab4, new Vector3(xPos, yPos, zPos), qRot);
            ////Debug.Log("Create Enemy");
        }
        break;

        case 7:     // wave7 // 3배회, 1어그로
        {
            for (int i = 0; i < 4; ++i)
            {
                xPos = Random.Range(-191.5f, -176.6f);
                zPos = Random.Range(2103f, 2061.6f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy.setAIType(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 8:     // wave8 // 1어그로
        {
            for (int i = 0; i < 5; ++i)
            {
                xPos = Random.Range(87.2f, 113.8f);
                zPos = Random.Range(2063.1f, 2036.7f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy.setAIType(0);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 2; ++i)
            {
                xPos = Random.Range(51.9f, 60.4f);
                zPos = Random.Range(2095.8f, 2069.9f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 9:     // wave9 // 1어그로
        {
            for (int i = 0; i < 3; ++i)
            {
                xPos = Random.Range(260f, 291f);
                zPos = Random.Range(2076.7f, 2031.7f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 10:     // wave10 // 2로켓런처
        {
            xPos = 402.8f;
            yPos = 1f;
            zPos = 2161.48f;
            Enemy2 createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 412.63f;
            yPos         = 1f;
            zPos         = 2161.48f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 406.98f;
            yPos         = 4.3f;
            zPos         = 2161.48f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
        }
        break;

        case 11:     // wave11 // 1어그로
        {
            for (int i = 0; i < 2; ++i)
            {
                xPos = Random.Range(419.9f, 401f);
                zPos = Random.Range(2186.2f, 2178.4f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 4; ++i)
            {
                xPos = Random.Range(377f, 397.3f);
                zPos = Random.Range(2209.9f, 2190.2f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 12:     // wave12 // 2로켓런처
        {
            xPos = 83.88f;
            yPos = 0.3f;
            zPos = 2217.1f;
            Enemy2 createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 83.88f;
            yPos         = 3.38f;
            zPos         = 2220.08f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
            xPos         = 83.88f;
            yPos         = 7f;
            zPos         = 2224.96f;
            createdEnemy = Instantiate(enemyPrefab2, new Vector3(xPos, yPos, zPos), Quaternion.identity);
        }
        break;

        case 13:     // wave13 // 4전차
        {
            //xPos = Random.Range(-303.1f, -287.6f);
            //zPos = Random.Range(2014.9f, 1991.2f);
            //Enemy4 createdEnemy = Instantiate(enemyPrefab4, new Vector3(xPos, yPos, zPos), qRot);
            ////Debug.Log("Create Enemy");
        }
        break;

        case 14:     // wave14 // 1어그로 3배회
        {
            for (int i = 0; i < 4; ++i)
            {
                xPos = Random.Range(-156.2f, -119.9f);
                zPos = Random.Range(2289.6f, 2265.9f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
            for (int i = 0; i < 2; ++i)
            {
                xPos = Random.Range(-138.6f, -131.1f);
                zPos = Random.Range(2388.3f, 2368.4f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 15:     // wave15 // 3배회
        {
            for (int i = 0; i < 3; ++i)
            {
                xPos = Random.Range(-402.6f, -339f);
                zPos = Random.Range(2358.5f, 2308f);
                Enemy3 createdEnemy3 = Instantiate(enemyPrefab3, new Vector3(xPos, yPos, zPos), qRot);
                createdEnemy3.setGroup(0);
                //Debug.Log("Create Enemy");
            }
        }
        break;

        case 16:     // wave16 // 1어그로 3배회
        {
            for (int i = 0; i < 3; ++i)
            {
                xPos = Random.Range(-436f, -485.3f);
                zPos = Random.Range(2442.1f, 2420.6f);
                Enemy createdEnemy = Instantiate(enemyPrefab, new Vector3(xPos, yPos, zPos), qRot);
                //Debug.Log("Create Enemy");
            }
        }
        break;
        }
    }
예제 #24
0
 private void Start()
 {
     parent = GetComponentInParent <Enemy3>();
 }
예제 #25
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.tag == "Enemy")
        {
            Enemy e = col.gameObject.GetComponent <Enemy>();
            if (e != null)
            {
                if (!(e.GameplayState == 3))
                {
                    e.GameplayState = 3;
                    e.AnimState     = 3;
                    e.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e.GameplayState = 0;
                    e.AnimState     = 0;
                    e.curFrame      = 0;
                    e.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e.GetComponent <SpriteRenderer>().enabled = true;
                    e.GetComponent <SpriteRenderer>().sprite  = e.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }

            Enemy1 e1 = col.gameObject.GetComponent <Enemy1>();
            if (e1 != null)
            {
                if (!(e1.GameplayState == 3))
                {
                    e1.GameplayState = 3;
                    e1.AnimState     = 3;
                    e1.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e1.GameplayState = 0;
                    e1.AnimState     = 0;
                    e1.curFrame      = 0;
                    e1.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e1.GetComponent <SpriteRenderer>().enabled = true;
                    e1.GetComponent <SpriteRenderer>().sprite  = e1.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
            Enemy2 e2 = col.gameObject.GetComponent <Enemy2>();
            if (e2 != null)
            {
                if (!(e2.GameplayState == 3))
                {
                    e2.GameplayState = 3;
                    e2.AnimState     = 3;
                    e2.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e2.GameplayState = 0;
                    e2.AnimState     = 0;
                    e2.curFrame      = 0;
                    e2.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e2.GetComponent <SpriteRenderer>().enabled = true;
                    e2.GetComponent <SpriteRenderer>().sprite  = e2.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
            Enemy3 e3 = col.gameObject.GetComponent <Enemy3>();
            if (e3 != null)
            {
                if (!(e3.GameplayState == 3))
                {
                    e3.GameplayState = 3;
                    e3.AnimState     = 3;
                    e3.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e3.GameplayState = 0;
                    e3.AnimState     = 0;
                    e3.curFrame      = 0;
                    e3.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e3.GetComponent <SpriteRenderer>().enabled = true;
                    e3.GetComponent <SpriteRenderer>().sprite  = e3.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
            Enemy4 e4 = col.gameObject.GetComponent <Enemy4>();
            if (e4 != null)
            {
                if (!(e4.GameplayState == 3))
                {
                    e4.GameplayState = 3;
                    e4.AnimState     = 3;
                    e4.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e4.GameplayState = 0;
                    e4.AnimState     = 0;
                    e4.curFrame      = 0;
                    e4.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e4.GetComponent <SpriteRenderer>().enabled = true;
                    e4.GetComponent <SpriteRenderer>().sprite  = e4.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
            Enemy5 e5 = col.gameObject.GetComponent <Enemy5>();
            if (e5 != null)
            {
                if (!(e5.GameplayState == 3))
                {
                    e5.GameplayState = 3;
                    e5.AnimState     = 3;
                    e5.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e5.GameplayState = 0;
                    e5.AnimState     = 0;
                    e5.curFrame      = 0;
                    e5.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e5.GetComponent <SpriteRenderer>().enabled = true;
                    e5.GetComponent <SpriteRenderer>().sprite  = e5.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
            Enemy6 e6 = col.gameObject.GetComponent <Enemy6>();
            if (e6 != null)
            {
                if (!(e6.GameplayState == 3))
                {
                    e6.GameplayState = 3;
                    e6.AnimState     = 3;
                    e6.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e6.GameplayState = 0;
                    e6.AnimState     = 0;
                    e6.curFrame      = 0;
                    e6.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e6.GetComponent <SpriteRenderer>().enabled = true;
                    e6.GetComponent <SpriteRenderer>().sprite  = e6.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }

            BossEnemy e8 = col.gameObject.GetComponent <BossEnemy>();
            if (e8 != null)
            {
                if (!(e8.GameplayState == 3))
                {
                    e8.GameplayState = 3;
                    e8.AnimState     = 3;
                    e8.curFrame      = 0;
                    level.GetComponent <levelManager>().enemycount--;
                    AudioSource.PlayClipAtPoint(ed, new Vector3(0, 0, 0), vol);
                }
                else
                {
                    e8.GameplayState = 0;
                    e8.AnimState     = 0;
                    e8.curFrame      = 0;
                    e8.patterncount  = 0;
                    level.GetComponent <levelManager>().enemycount++;
                    e8.GetComponent <SpriteRenderer>().enabled = true;
                    e8.GetComponent <SpriteRenderer>().sprite  = e8.IdleAnimations[0];
                    AudioSource.PlayClipAtPoint(eu, new Vector3(0, 0, 0), vol);
                }
                Destroy(gameObject);
                return;
            }
        }
    }
예제 #26
0
 public void Enter(Enemy3 enemy1)
 {
     this.enemy = enemy1;
     animator   = enemy.GetComponent <Animator>();
 }
예제 #27
0
 public E3_BurstAttackState(Entity entity, FiniteStateMachine stateMachine, string animBoolName, Transform attackPosition, D_BurstAttack stateData, Enemy3 enemy) : base(entity, stateMachine, animBoolName, attackPosition, stateData)
 {
     this.enemy = enemy;
 }
예제 #28
0
 public void Enter(Enemy3 enemy)
 {
     this.enemy = enemy;
 }
예제 #29
0
 public B_DeadState(FiniteStateMachine stateMachine, Entity entity, string animBoolName, D_DeadState stateData, Enemy3 enemy) : base(stateMachine, entity, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
예제 #30
0
    // Start is called before the first frame update
    void Start()
    {
        enemy = this.gameObject;
        if (PlayerController.curEventType == 1)
        {
            enemy.GetComponent <Image>().sprite = Resources.Load <Sprite>("Image/enemy1_" + Convert.ToInt32(1 + Random.Range(0, 2)));

            Enemy1 enemy1 = PlayerController.enemy.enemy1[0];
            reward_Cards = new List <CardListItem>();

            while (reward_Cards.Count != 3)
            {
                int index = Random.Range(0, PlayerController.allCards.Count - 1);
                reward_Cards.Add(PlayerController.allCards[index]);
            }

            reward_wealth1 = ((int)Random.Range(10, 30)).ToString();
            reward_wealth2 = ((int)Random.Range(20, 50)).ToString();

            maxWound1 = double.Parse(enemy1.maxWound1);
            maxWound2 = double.Parse(enemy1.maxWound2);

            actions   = enemy1.actions;
            curAction = actions[0];
            wound1    = 0;
            wound2    = 0;

            PlayerController.enemy.enemy1.RemoveAt(0);
        }
        if (PlayerController.curEventType == 2)
        {
            enemy.GetComponent <RectTransform>().localScale = new Vector3(1.2f, 1.2f, 1);

            enemy.GetComponent <Image>().sprite = Resources.Load <Sprite>("Image/enemy2_" + Convert.ToInt32(1 + Random.Range(0, 3)));

            Enemy2 enemy2 = PlayerController.enemy.enemy2[0];
            reward_Cards = new List <CardListItem>();

            while (reward_Cards.Count != 3)
            {
                int index = Random.Range(0, PlayerController.allCards.Count - 1);
                reward_Cards.Add(PlayerController.allCards[index]);
            }

            reward_wealth1 = ((int)Random.Range(10, 30)).ToString();
            reward_wealth2 = ((int)Random.Range(20, 50)).ToString();

            maxWound1 = double.Parse(enemy2.maxWound1);
            maxWound2 = double.Parse(enemy2.maxWound2);

            actions   = enemy2.actions;
            curAction = actions[0];
            wound1    = 0;
            wound2    = 0;

            PlayerController.enemy.enemy2.RemoveAt(0);
        }
        if (PlayerController.curEventType == 9)
        {
            enemy.GetComponent <RectTransform>().localScale = new Vector3(1.2f, 1.2f, 1);

            enemy.GetComponent <Image>().sprite = Resources.Load <Sprite>("Image/enemy3_1");

            Enemy3 enemy3 = PlayerController.enemy.enemy3[0];
            reward_Cards = new List <CardListItem>();

            while (reward_Cards.Count != 3)
            {
                int index = Random.Range(0, PlayerController.allCards.Count - 1);
                reward_Cards.Add(PlayerController.allCards[index]);
            }

            reward_wealth1 = ((int)Random.Range(30, 70)).ToString();
            reward_wealth2 = ((int)Random.Range(40, 80)).ToString();

            maxWound1 = double.Parse(enemy3.maxWound1);
            maxWound2 = double.Parse(enemy3.maxWound2);

            actions   = enemy3.actions;
            curAction = actions[0];
            wound1    = 0;
            wound2    = 0;

            PlayerController.enemy.enemy3.RemoveAt(0);
        }
    }