/// <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); } }
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); }
// 敵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); } }
//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(); }
/// <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; } }