Example #1
0
            /// <summary>
            /// A structure holding the name and position of the enemy
            /// </summary>
            /// <param name="name">The name of the enemy to load</param>
            /// <param name="position">The spawn position of the enemy</param>
            /// <param name="type">The enemy type</param>
            public EnemySpawn(string name, Vector2f position, String type)
            {
                Name     = name;
                Position = position;
                switch (type)
                {
                case "Nurse":
                    Type = Enemy.EnemyType.Nurse;
                    break;

                case "GrimReaper":
                    Type = Enemy.EnemyType.GrimReeper;
                    break;

                case "Teenager":
                    Type = Enemy.EnemyType.Teenager;
                    break;

                case "FuneralHomeDirector":
                    Type = Enemy.EnemyType.FuneralHomeDirector;
                    break;

                default:
                    Type = Enemy.EnemyType.Nurse;
                    break;
                }
            }
        public void InvokePlayerScore(int _enemyID, Enemy.EnemyType _type, int playerID)
        {
            int enemyKill = GetEnemyKillFromID(playerID);

            playerControllerInstance.UpdateScore(_enemyID, _type);
            EnemyKill?.Invoke(playerControllerInstance.GetID(), enemyKill);
        }
 public EnemySpawnEvent(double triggerTime, Enemy.EnemyType enemyType, Node parentLayer, PlayerCreature player)
 {
     this.triggerTime = triggerTime;
     this.enemyType = enemyType;
     this.parent = parentLayer;
     this.player = player;
 }
        private Enemy GetEnemyPrefab(Enemy.EnemyType type)
        {
            if (type == Enemy.EnemyType.WithoutShip)
            {
                return(_enemyWithoutShip);
            }

            return(_enemyWithShip);
        }
 // 敵のPrefab格納パス取得
 public string GetEnemyPrefabPath(Enemy.EnemyType type)
 {
     if (enemyPrefabPath.Length > (int)type)
     {
         return(enemyPrefabPath[(int)type]);
     }
     else
     {
         Debug.Log("enemy type is out of range... Max:" + enemyPrefabPath.Length + ", Selected:" + (int)type);
         return(null);
     }
 }
        private Enemy GetEnemyPrefab(Enemy.EnemyType type)
        {
            Enemy enemy = null;

            if (type == Enemy.EnemyType.WithoutShip)
            {
                return(_enemyWithoutShip);
            }

            else
            {
                return(_enemyWithShip);
            }
        }
Example #7
0
        public Enemy CreateEnemy(Cell cell, Enemy.EnemyType type)
        {
            var enemy = (GameObject)GameObject.Instantiate(m_settings.prefabEnemy);

            var behavior = enemy.GetComponent <Enemy>();

            behavior.Camera   = m_camera;
            behavior.settings = m_settings;
            behavior.SoundMgr = m_sound;

            behavior.SetPosition(cell);
            behavior.SetEnemyType(type);

            return(behavior);
        }
Example #8
0
        // 敵Prefab格納パス取得
        public string GetEnemyPrefabPath(Enemy.EnemyType type)
        {
            string retStr = universalData.GetEnemyPrefabPath(type);

            Debug.Log("Get EnemyPrefabPath Type:" + type + ", Path:" + retStr);

            if (loadOK)
            {
                return(retStr);
            }
            else
            {
                Debug.Log("DataLibrarian Load Data NG -> cannot get EnemyPrefabPath...");
                return(null);
            }
        }
Example #9
0
        //A lot of this is experimental code. Will be able to test
        //it on the next merge and clean it up afterwards. Needs some cleaning up, will
        //go into different classes.
        public BasicModel[] XmlReaderLoadLevel(string level)
        {
            string newLevel = level;
            XmlTextReader xmlReader;

            this.StaticItems.Clear();

            xmlReader = new XmlTextReader(newLevel);
            while (xmlReader.Read())
            {
                switch (xmlReader.NodeType)
                {
                    case XmlNodeType.Element:
                        {
                            String asset = xmlReader.Name;
                            switch (xmlReader.Name)
                            {
                                case "doodad":
                                    {
                                        /* Example: <doodad position ="0 0 0" rotation="0 0 0" scalar="1"
                                         diffuseEnabled="true" locationModel="Models\" locationTexture="Textures\"
                                         modelProps="Opaque" tileVec="1 1" flipVec="1 1" /> */
                                         pos = xmlReader.GetAttribute("position");
                                         rot = xmlReader.GetAttribute("rotation");
                                         scal = xmlReader.GetAttribute("scalar");
                                         strLocModel = xmlReader.GetAttribute("locationModel");
                                         strLocTexture = xmlReader.GetAttribute("locationTexture");
                                         props = xmlReader.GetAttribute("modelProps");
                                         tile = xmlReader.GetAttribute("tileVec");
                                         flip = xmlReader.GetAttribute("flipVec");
                                         diffEn = xmlReader.GetAttribute("diffuseEnabled");

                                         position = ReadFloat3(pos);
                                         rotation = ReadFloat3(rot);

                                         scalar = ReadFloat(scal);
                                         properties = (ModelProperties)Enum.Parse(typeof(ModelProperties), props);
                                         tileAmount = ReadFloat2(tile);
                                         flipVec = ReadFloat2(flip);
                                         a = new BasicModel(Engine.GameContainer, properties, strLocModel, position);
                                         a.Link.Texture = Engine.GameContainer.Load<Texture2D>(strLocTexture);
                                         a.Link.DiffuseEnabled = Convert.ToBoolean(diffEn);

                                         if (a.Link.DiffuseEnabled)
                                         {
                                             a.Link.DiffuseIntensity = 0.8f;
                                             a.Link.AmbientIntensity = 0.4f;
                                             a.Link.AmbientColor = Color.White.ToVector4();
                                         }

                                        a.Link.TileAmount = tileAmount;
                                        a.Link.RotationMatrix *= Matrix.CreateRotationX(rotation.X);
                                        a.Link.RotationMatrix *= Matrix.CreateRotationY(rotation.Y);
                                        a.Link.RotationMatrix *= Matrix.CreateRotationZ(rotation.Z);
                                        a.Link.ScalerMatrix *= Matrix.CreateScale(scalar);
                                        StaticItems.Add(a);

                                        break;
                                    }
                                case "enemy":
                                    {
                                         ET = xmlReader.GetAttribute("EnemyType");
                                         pos = xmlReader.GetAttribute("position");

                                        EnemyType = (Enemy.EnemyType)Enum.Parse(typeof(Enemy.EnemyType), ET);
                                         position = ReadFloat3(pos);

                                        mAI.Peek.SpawnEnemy(EnemyType, position);

                                        break;
                                    }

                            }
                            break;
                        }
                }
            }
            return StaticItems.ToArray();
        }
Example #10
0
        /// <summary>
        /// Создание задания
        /// </summary>
        /// <param name="playerLevel">Количество монстров зависит от уровня персонажа</param>
        public Task(int playerLevel)
        {
            int rand = Program.Random.Next(1, 10);

            switch (rand)
            {
            case 1:
                this.EnemyType      = Enemy.EnemyType.Wolf;
                this.EnemyCount     = Program.Random.Next(10, 15 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(10, 30);
                }
                else
                {
                    this.SkillReward = GetReward(15, 40);
                }
                break;

            case 2:
                this.EnemyType      = Enemy.EnemyType.Goblin;
                this.EnemyCount     = Program.Random.Next(7, 12 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(12, 28);
                }
                else
                {
                    this.SkillReward = GetReward(15, 35);
                }
                break;

            case 3:
                this.EnemyType      = Enemy.EnemyType.Bear;
                this.EnemyCount     = Program.Random.Next(5, 10 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(18, 40);
                }
                else
                {
                    this.SkillReward = GetReward(20, 45);
                }
                break;

            case 4:
                this.EnemyType      = Enemy.EnemyType.Ork;
                this.EnemyCount     = Program.Random.Next(10, 15 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(20, 45);
                }
                else
                {
                    this.SkillReward = GetReward(25, 45);
                }
                break;

            case 5:
                this.EnemyType      = Enemy.EnemyType.Griffin;
                this.EnemyCount     = Program.Random.Next(3, 8 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(60, 80);
                }
                else
                {
                    this.SkillReward = GetReward(60, 90);
                }
                break;

            case 6:
                this.EnemyType      = Enemy.EnemyType.Triton;
                this.EnemyCount     = Program.Random.Next(4, 7 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(55, 85);
                }
                else
                {
                    this.SkillReward = GetReward(55, 90);
                }
                break;

            case 7:
                this.EnemyType      = Enemy.EnemyType.Bandit;
                this.EnemyCount     = Program.Random.Next(10, 17 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(22, 35);
                }
                else
                {
                    this.SkillReward = GetReward(30, 40);
                }
                break;

            case 8:
                this.EnemyType      = Enemy.EnemyType.DarkKnight;
                this.EnemyCount     = Program.Random.Next(3, 8 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(60, 80);
                }
                else
                {
                    this.SkillReward = GetReward(50, 90);
                }
                break;

            case 9:
                this.EnemyType      = Enemy.EnemyType.Golem;
                this.EnemyCount     = Program.Random.Next(4, 10 + playerLevel);
                this.EnemyCountDied = 0;
                if (Program.Random.Next() % 2 == 0)
                {
                    this.MoneyReward = GetReward(65, 90);
                }
                else
                {
                    this.SkillReward = GetReward(70, 85);
                }
                break;
            }
        }