public void createEnemies(int faction) { GameObject newEnemy = Instantiate(enemies[choice], transform.position + new Vector3(0, 1f, 0), transform.rotation, GetComponentInParent <Spawn>().gameObject.transform); if (choice == 0) { MeleeEnemy setup = newEnemy.GetComponent <MeleeEnemy>(); setup.healthMax = meleeNums.enemyHealth; //10 setup.speed = meleeNums.enemySpeed; //2 setup.gravity = meleeNums.enemyGravity; //20 setup.attackRange = meleeNums.attackRange; //5 setup.chargeTime = meleeNums.chargeTime; //5 setup.postLockTime = meleeNums.postLockTime; //2 setup.chargeDist = meleeNums.chargeDist; //10 setup.orig = GetComponentInParent <ScalingTracker>().factionMats[faction]; setup.faction = faction; DealDamage dmgSetup = newEnemy.GetComponent <DealDamage>(); dmgSetup.damage = meleeNums.enemyDamage;//5 } else { MainRanged setup = newEnemy.GetComponent <MainRanged>(); setup.RoF = rangedNums.RoF; setup.radius = rangedNums.radius; setup.turnSpeed = rangedNums.turnSpeed; setup.healthMax = rangedNums.healthMax; setup.height = rangedNums.height; setup.orig = GetComponentInParent <ScalingTracker>().factionMats[faction]; setup.faction = faction; ProjectileValues dmgSetup = newEnemy.GetComponentInChildren <ProjectileValues>(); dmgSetup.damage = rangedNums.damage;//5 } }
void GruntRound() { int crrtBeat = Conductor.GetBeat() - FirstBeat; // Return early if round has not begun if (crrtBeat < 0) { return; } // Spawn grunts periodically if round has begun if (mNumGruntsSpawned != mNumGrunts && crrtBeat == mNumGruntsSpawned) { // Play VoicesLine When Grunts Spawn (But Only Once) if (mVoiceLineIndex == 1 || mVoiceLineIndex == 3 || mVoiceLineIndex == 5) { VoiceLines[mVoiceLineIndex++].Play(); } MeleeEnemy enemy = Instantiate(Grunt, GruntSpawns[mNumGruntsSpawned % GruntSpawns.Count].position, Quaternion.identity); enemy.Target = Player; enemy.HealthController.OnDeath += IncrementGruntKillCount; mNumGruntsSpawned += 1; } if (mNumRangedSpawned != mNumRanged && crrtBeat == mNumRangedSpawned) { RangedEnemy enemy = Instantiate(RangedGrunt, RangedSpawns[mNumRangedSpawned % RangedSpawns.Count].position, Quaternion.identity); enemy.Target = Player; enemy.HealthController.OnDeath += IncrementRangedKillCount; mNumRangedSpawned += 1; } }
private void OnTriggerEnter(Collider other) { enemySpawnManager = GameObject.Find("Enemy Spawn Manager").GetComponent <EnemySpawnManager>(); playerStats = GameObject.Find("GameManager").GetComponent <PlayerStats>(); if (other.gameObject.CompareTag("Range Enemy")) { prefabs.SetActive(false); rangeEnemy = other.GetComponent <RangeEnemy>(); rangeEnemy.healthRangeEnemy -= playerStats.attackPower; if (rangeEnemy.healthRangeEnemy <= 0) { other.gameObject.SetActive(false); rangeEnemy.healthRangeEnemy = 100; other.gameObject.transform.position = enemySpawnManager.RandomPosition(); rangeEnemy.weaponIsActive = true; } } if (other.gameObject.CompareTag("Melee Enemy")) { prefabs.SetActive(false); meleeEnemy = other.GetComponent <MeleeEnemy>(); meleeEnemy.healthMeleeEnemy -= playerStats.attackPower; if (meleeEnemy.healthMeleeEnemy > 0) { meleeEnemy.SkeletonAnim.SetTrigger("GetDamage"); } } }
//------------------------Collision Handling------------------------ private void OnCollisionEnter2D(Collision2D collision) //Handles collisions between player and physical GameObjects { GameObject other = collision.gameObject; Vector2 collisionDirection = transform.position - other.transform.position; if (canTakeDamage) //Player touches an enemy { if (other.tag == "Enemy") //Player takes damage from contact with enemy { RangeEnemy rangeScript = other.GetComponent <RangeEnemy>(); MeleeEnemy meleeScript = other.GetComponent <MeleeEnemy>(); if (rangeScript) { TakeDamage(rangeScript.Damage, collisionDirection); } else if (meleeScript) { TakeDamage(meleeScript.Damage, collisionDirection); } } else if (other.tag == "EnemyProjectile") //Player touches an enemy's projectile { Projectile projScript = other.GetComponent <Projectile>(); if (projScript) //Player takes damage from contact with enemy's projectile { TakeDamage(projScript.Damage, collisionDirection); Destroy(other); } } } }
//public Object EnemyPrefab2; public void SpawnEnemy(int wave) { wave++; MeleeEnemy spawnedEnemy = Instantiate(EnemyPrefab, new Vector3(Random.Range(-10, 10), Random.Range(-10, 10), 0), Quaternion.identity); spawnedEnemy.MaxHealth += Random.Range(1 * wave + 1, 4 * wave); spawnedEnemy.Speed *= 1; spawnedEnemy.Health = spawnedEnemy.MaxHealth; }
void Start() { // Get the current parent's transform. transformCache = GetComponent<Transform>(); targetMob = mob.GetComponent<MeleeEnemy>(); // Assign the health bars current and max values. enemyHealthSlider.maxValue = targetMob.maxHealth; enemyHealthSlider.value = targetMob.health; }
private void Awake() { stateMachine = GetComponent <MeleeSM>(); meleeEnemy = GetComponentInParent <MeleeEnemy>(); navMeshAgent = GetComponentInParent <NavMeshAgent>(); animator = GetComponentInParent <Animator>(); player = FindObjectOfType <Player>(); }
public bool checkForAttackers(MeleeEnemy enemy) { List<MeleeEnemy> testList = new List<MeleeEnemy> (this.enemyList); testList.Remove(enemy); foreach (MeleeEnemy e in testList) { if (e.attacking == true) { return true; } } return false; }
public bool checkForAttackers(MeleeEnemy enemy) { List <MeleeEnemy> testList = new List <MeleeEnemy> (this.enemyList); testList.Remove(enemy); foreach (MeleeEnemy e in testList) { if (e.attacking == true) { return(true); } } return(false); }
private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "MeleeEnemy") { MeleeEnemy meleeEnemy = collision.gameObject.GetComponent <MeleeEnemy>(); meleeEnemy.DoDamage(); Destroy(gameObject); } else if (collision.gameObject.tag == "RangedEnemy") { RangedEnemy rangedEnemy = collision.gameObject.GetComponent <RangedEnemy>(); rangedEnemy.DoDamage(); Destroy(gameObject); } }
void OnSceneGUI() { MeleeEnemy fow = (MeleeEnemy)target; Handles.color = Color.white; Handles.DrawWireArc(fow.transform.position, Vector3.up, Vector3.forward, 360, fow.viewRadius); Vector3 viewAngleA = fow.DirFromAngel(-fow.viewAngle / 2, false); Vector3 viewAngleB = fow.DirFromAngel(fow.viewAngle / 2, false); Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleA * fow.viewRadius); Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleB * fow.viewRadius); Handles.color = Color.red; foreach (Transform visibleTarget in fow.visibleTarget) { Handles.DrawLine(fow.transform.position, visibleTarget.position); } }
public float numberDistanceForMelee = 1; //расстояние для милишной атаки void Start() { AImanager.AIlist.Add(this);//this или getComponnent? передаём ссылку на экземпляр в менеджер gameObject.name = "Monster " + Random.Range(0, 100); _rigidbody = GetComponent <Rigidbody2D>(); _rigidbody.mass = mass; MOVE = GetComponent <MoveEnemy>(); SHOOT = GetComponent <ShootingEnemy>(); MELEE = GetComponent <MeleeEnemy>(); DEATH = GetComponent <Death>(); //player = GameObject.Find("Player"); //_animation = GetComponent<Animator>(); //body = GetComponent<Rigidbody2D>(); }
//private bool canMove; // Use this for initialization void Start() { maxEnemies = 4; meleeEnemyReference = meleeprefab.GetComponent<MeleeEnemy> (); rangedEnemyReference = rangedprefab.GetComponent<RangedEnemy> (); GameObject[] enemyObjs; //gray;// = GameObject.Find ("Grayout").GetComponent<SpriteRenderer>(); player = GameObject.Find("Player").GetComponent<PlayerCharacter>(); puzzle = GameObject.Find ("PuzzleManager").GetComponent<PuzzleManager> (); enemyObjs = GameObject.FindGameObjectsWithTag("enemy"); enemies = new List<Enemy>(); for (int i = 0; i < enemyObjs.Length; i++) { enemies.Add(enemyObjs[i].GetComponent<Enemy>()); } //canMove = true; spawnTimer = 0; coolDownTimer = 5; turn = 1; enemyCount = 0; }
//private bool canMove; // Use this for initialization void Start() { maxEnemies = 4; meleeEnemyReference = meleeprefab.GetComponent <MeleeEnemy> (); rangedEnemyReference = rangedprefab.GetComponent <RangedEnemy> (); GameObject[] enemyObjs; //gray;// = GameObject.Find ("Grayout").GetComponent<SpriteRenderer>(); player = GameObject.Find("Player").GetComponent <PlayerCharacter>(); puzzle = GameObject.Find("PuzzleManager").GetComponent <PuzzleManager> (); enemyObjs = GameObject.FindGameObjectsWithTag("enemy"); enemies = new List <Enemy>(); for (int i = 0; i < enemyObjs.Length; i++) { enemies.Add(enemyObjs[i].GetComponent <Enemy>()); } //canMove = true; spawnTimer = 0; coolDownTimer = 5; turn = 1; enemyCount = 0; }
private void InstantiateEnemy(TEnemyTypes enemyType, TZones zone, int spawnID) { // Create variables MeleeEnemy l_CurrentMeleeEnemy = null; DistanceEnemy l_CurrentDistanceEnemy = null; // Depending on enemy type add in list and get enemy inactive switch (enemyType) { case TEnemyTypes.Teeth: l_CurrentMeleeEnemy = GameController.Instance.GetTeethEnemyInactive(); m_MeleeEnemiesAliveList.Add(l_CurrentMeleeEnemy); break; case TEnemyTypes.Helicopter: l_CurrentDistanceEnemy = GameController.Instance.GetHelicotperEnemyInactive(); M_DistanceEnemiesAliveList.Add(l_CurrentDistanceEnemy); break; case TEnemyTypes.Robot: l_CurrentMeleeEnemy = GameController.Instance.GetRobotEnemyInactive(); m_MeleeEnemiesAliveList.Add(l_CurrentMeleeEnemy); break; } // If enemy is melee if (l_CurrentMeleeEnemy != null) { // ChangePosition depending on zone switch (zone) { case TZones.Military: l_CurrentMeleeEnemy.OnInit(m_MilitarySpawnPositions[spawnID].transform.position); l_CurrentMeleeEnemy.m_NavMeshAgent.enabled = true; l_CurrentMeleeEnemy.m_NavMeshAgent.Warp(m_MilitarySpawnPositions[spawnID].transform.position); break; case TZones.Twin1: l_CurrentMeleeEnemy.OnInit(m_MedievalSpawnPositions1[spawnID].transform.position); l_CurrentMeleeEnemy.m_NavMeshAgent.enabled = true; l_CurrentMeleeEnemy.m_NavMeshAgent.Warp(m_MedievalSpawnPositions1[spawnID].transform.position); break; case TZones.Twin2: l_CurrentMeleeEnemy.OnInit(m_MedievalSpawnPositions2[spawnID].transform.position); l_CurrentMeleeEnemy.m_NavMeshAgent.enabled = true; l_CurrentMeleeEnemy.m_NavMeshAgent.Warp(m_MedievalSpawnPositions2[spawnID].transform.position); break; case TZones.Student: l_CurrentMeleeEnemy.OnInit(m_StudentSpanwPositions[spawnID].transform.position);; l_CurrentMeleeEnemy.m_NavMeshAgent.enabled = true; l_CurrentMeleeEnemy.m_NavMeshAgent.Warp(m_StudentSpanwPositions[spawnID].transform.position); break; case TZones.Barbie: l_CurrentMeleeEnemy.OnInit(m_BarbieSpawnPositions[spawnID].transform.position); l_CurrentMeleeEnemy.m_NavMeshAgent.enabled = true; l_CurrentMeleeEnemy.m_NavMeshAgent.Warp(m_BarbieSpawnPositions[spawnID].transform.position); break; } } // If is distance enemy else { // ChangePosition depending on zone switch (zone) { case TZones.Military: l_CurrentDistanceEnemy.OnInit(m_MilitarySpawnPositions[spawnID].transform.position); l_CurrentDistanceEnemy.m_NavMeshAgent.enabled = true; l_CurrentDistanceEnemy.m_NavMeshAgent.Warp(m_MilitarySpawnPositions[spawnID].transform.position); break; case TZones.Twin1: l_CurrentDistanceEnemy.OnInit(m_MedievalSpawnPositions1[spawnID].transform.position); l_CurrentDistanceEnemy.m_NavMeshAgent.enabled = true; l_CurrentDistanceEnemy.m_NavMeshAgent.Warp(m_MedievalSpawnPositions1[spawnID].transform.position); break; case TZones.Twin2: l_CurrentDistanceEnemy.OnInit(m_MedievalSpawnPositions2[spawnID].transform.position); l_CurrentDistanceEnemy.m_NavMeshAgent.enabled = true; l_CurrentDistanceEnemy.m_NavMeshAgent.Warp(m_MedievalSpawnPositions2[spawnID].transform.position); break; case TZones.Student: l_CurrentDistanceEnemy.OnInit(m_StudentSpanwPositions[spawnID].transform.position); l_CurrentDistanceEnemy.m_NavMeshAgent.enabled = true; l_CurrentDistanceEnemy.m_NavMeshAgent.Warp(m_StudentSpanwPositions[spawnID].transform.position); break; case TZones.Barbie: l_CurrentDistanceEnemy.OnInit(m_BarbieSpawnPositions[spawnID].transform.position); l_CurrentDistanceEnemy.m_NavMeshAgent.enabled = true; l_CurrentDistanceEnemy.m_NavMeshAgent.Warp(m_BarbieSpawnPositions[spawnID].transform.position); break; } } }
void Start() { viewCamera = Camera.main; // pointer to the Enemy,cs script component enemy = gameObject.GetComponent<MeleeEnemy>(); // Store the transform of the slider object transformCache = enemyHealthSlider.GetComponent<Transform>(); // Initalize the health bar's current and maximum health enemyHealthSlider.maxValue = enemy.maxHealth; enemyHealthSlider.value = enemy.health; // Get the bounds of the gameobject's render mesh and pass the height to offset mobMesh = gameObject.GetComponent<MeshFilter>().mesh; offset = BoundsToScreenRect(mobMesh.bounds); }
public void addEnemyToList(MeleeEnemy enemy) { print("adding enemy" + enemy.ToString()); this.enemyList.Add(enemy); }
public void removeEnemyFromList(MeleeEnemy enemy) { this.enemyList.Remove(enemy); }
public void addEnemyToList(MeleeEnemy enemy) { print ("adding enemy" + enemy.ToString()); this.enemyList.Add (enemy); }
void Start() { // Get current and max health from parent game object script. mob = transform.parent.gameObject; targetMob = mob.GetComponent<MeleeEnemy>(); }
/// <summary> /// Takes a Room and creates everything that is not a floor tile /// </summary> /// <param name="enemyTexture">Texture of enemies in this room</param> /// <param name="wallTexture">Texture of walls in this room</param> public void initRoom(Texture2D wallTextures, Texture2D floorTextures, Graph.Graph graph) { //Init room's textures this.wallTextures = wallTextures; this.floorTextures = floorTextures; //Should change this later int tileSize = 64; int roomSize = 10; int enemySpriteWidth = 39; int enemySpriteHeight = 38; Pod pod = new Pod(); for (int i = 0; i < roomSize; i++) { for (int j = 0; j < roomSize; j++) { Vector2 currPos = new Vector2( position.X + tileSize * i, position.Y + tileSize * j); Vector2 midPos = new Vector2( currPos.X + (tileSize / 4), currPos.Y + (tileSize / 4)); switch (tileLayout[i, j]) { //Create walls case TileType.WALL: ChunkManager.Instance.Add( new Wall( floorTextures, currPos, new Rectangle( (int)currPos.X, (int)currPos.Y, tileSize, tileSize))); break; //Move player case TileType.PLAYER: Player.Instance.Position = currPos; Player.Instance.ResetPlayerNewMap(); Player.Instance.CurrWeapon.ResetWeapon(); Weapons.Weapon temp = Player.Instance.CurrWeapon; temp.X = currPos.X + Player.Instance.BoundingBox.Width / 2; temp.Y = currPos.Y + Player.Instance.BoundingBox.Height / 2; Camera.Instance.resetPosition(Player.Instance.Position); //Add this position to the graph graph.Add(new Graph.GraphNode(midPos)); spawnroom = true; break; //Create Melee Enemies case TileType.MELEEENEMY: graph.Add(new Graph.GraphNode(midPos)); //Create new enemy MeleeEnemy newEnemy = new MeleeEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(newEnemy); ChunkManager.Instance.Add(newEnemy); pod.Add(newEnemy); break; //Create Turret Enemies case TileType.TURRET: //Create new enemy TurretEnemy turret = new TurretEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(turret); ChunkManager.Instance.Add(turret); pod.Add(turret); break; case TileType.DASHENEMY: graph.Add(new Graph.GraphNode(midPos)); //Create new enemy DashEnemy dash = new DashEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(dash); ChunkManager.Instance.Add(dash); pod.Add(dash); break; default: //Add this position to the graph graph.Add(new Graph.GraphNode(midPos)); break; } } } PodManager.Instance.Add(pod); InitTextureMap(); }
public void removeEnemyFromList(MeleeEnemy enemy) { this.enemyList.Remove (enemy); }
public StabOutState(MeleeEnemy m) : base(m) { }
public StabInState(MeleeEnemy m) : base(m) { }
public MeleeEnemyAttack(MeleeEnemy e) { enemy = e; duration = enemy.Animator.runtimeAnimatorController.animationClips.First(a => a.name == "Attack").length; }