Beispiel #1
0
        public static void MainWeaponCollision(Canvas canvas)
        {
            for (int i = 0; i < lstMainWeaponCollider.Count; i++)
            {
                for (int j = 0; j < SpawnEnemy.lstEnemyData.Count; j++)
                {
                    if (!SpawnEnemy.lstEnemyData[j].isDamage)
                    {
                        Vector p1    = new Vector(lstMainWeaponCollider[i].X, lstMainWeaponCollider[i].Y);
                        Vector size1 = new Vector(32, 32);

                        Vector p2    = new Vector(SpawnEnemy.lstEnemyData[j].position.X, SpawnEnemy.lstEnemyData[j].position.Y);
                        Vector size2 = new Vector(SpawnEnemy.lstEnemyData[j].size.X, SpawnEnemy.lstEnemyData[j].size.Y);

                        if (CollisionCheck.Collision(p1, p2, size1, size2) &&
                            SpawnEnemy.lstEnemyData[j].state != EnemyState.Death)
                        {
                            SpawnEnemy.lstEnemyData[j].isDamage            = true;
                            SpawnEnemy.lstEnemyData[j].totalInvincibleTime = 0;

                            SpawnEnemy.lstEnemyData[j].coefficient    = 0;
                            SpawnEnemy.lstEnemyData[j].totalDistance  = new Vector(0, 0);
                            SpawnEnemy.lstEnemyData[j].bps            = new Vector(0, 0);
                            SpawnEnemy.lstEnemyData[j].targetDistance = new Vector(32, 32);
                            SpawnEnemy.lstEnemyData[j].isKnockBack    = true;


                            if (!Sound.seStop)
                            {
                                Sound.SoundEffectSelector(SeName.Shock);
                                Sound.SoundEffectPlayer(SeName.Shock);

                                Sound.seStop = true;
                            }

                            SpawnEnemy.lstEnemyData[j].life -= 1;

                            if (SpawnEnemy.lstEnemyData[j].life <= 0)
                            {
                                SpawnEnemy.lstEnemyData[j].isWaiting = false;
                                SpawnEnemy.lstEnemyData[j].state     = EnemyState.Death;

                                SpawnEnemy.EnemyDeathItemDrop(canvas, SpawnEnemy.lstEnemyData[j].position);
                            }
                        }
                    }
                }
            }
        }
Beispiel #2
0
        public static void CollisionSubWeapon(Canvas canvas)
        {
            for (int i = 0; i < SpawnEnemy.lstEnemyData.Count; i++)
            {
                if (ImageData.imgSubWeapon.Count >= 1)
                {
                    Vector p1    = new Vector(Canvas.GetLeft(ImageData.imgSubWeapon[0]), Canvas.GetTop(ImageData.imgSubWeapon[0]));
                    Vector size1 = new Vector(32, 32);

                    Vector p2    = new Vector(Canvas.GetLeft(SpawnEnemy.lstEnemyData[i].imgEnemy), Canvas.GetTop(SpawnEnemy.lstEnemyData[i].imgEnemy));
                    Vector size2 = new Vector(SpawnEnemy.lstEnemyData[i].size.X, SpawnEnemy.lstEnemyData[i].size.Y);

                    if (CollisionCheck.Collision(p1, p2, size1, size2) &&
                        SpawnEnemy.lstEnemyData[i].state != EnemyState.Death)
                    {
                        canvas.Children.Remove(ImageData.imgSubWeapon[0]);
                        ImageData.imgSubWeapon.Remove(ImageData.imgSubWeapon[0]);

                        if (!Sound.seStop)
                        {
                            Sound.SoundEffectSelector(SeName.Fog);
                            Sound.SoundEffectPlayer(SeName.Fog);

                            Sound.seStop = true;
                        }

                        SpawnEnemy.lstEnemyData[i].life -= 1;

                        if (SpawnEnemy.lstEnemyData[i].life <= 0)
                        {
                            SpawnEnemy.lstEnemyData[i].isWaiting = false;
                            SpawnEnemy.lstEnemyData[i].state     = EnemyState.Death;

                            SpawnEnemy.EnemyDeathItemDrop(canvas, SpawnEnemy.lstEnemyData[i].position);
                        }

                        break;
                    }
                }
            }
        }