public override void Update(PlayerController pc) { if (!pc.lineRenderer.gameObject.activeSelf) { pc.lineRenderer.gameObject.SetActive(true); } Vector3 endRaycastPos = Vector3.forward * pc.playerModel.laserDistance; RaycastHit hit; if (Physics.Raycast(new Ray(pc.lineRenderer.transform.position, pc.lineRenderer.transform.forward), out hit, pc.playerModel.laserDistance, pc.shootLayerMask.value)) { endRaycastPos = Vector3.forward * hit.distance; GroundEnemy gEnemy = hit.collider.GetComponent <GroundEnemy>(); if (gEnemy != null) { gEnemy.TakeDamage(pc.playerModel.laserDamage); } else { FlyingEnemy fEnemy = hit.collider.GetComponent <FlyingEnemy>(); if (fEnemy != null) { fEnemy.TakeDamage(pc.playerModel.laserDamage); } } } pc.lineRenderer.SetPosition(1, endRaycastPos); time -= Time.deltaTime; pc.Move(); pc.Aim(); pc.CheckHabilities(); }
private void LoadObjects() { Coin coin = new Coin(_coinTexture); coin.Position = new Vector2(50, 700); coin.Size = new Vector2(37, 37); _objects.Add(coin); var flyingDeadTexture = Content.Load <Texture2D>("Sprites/bee_dead"); var flyingTexture1 = Content.Load <Texture2D>("Sprites/bee"); var flyingTexture2 = Content.Load <Texture2D>("Sprites/bee_fly"); SpriteAnimation flyingAnimation = new SpriteAnimation(2); flyingAnimation.SetFrameTexture(0, flyingTexture1); flyingAnimation.SetFrameTexture(1, flyingTexture2); flyingAnimation.TimeBetweenFrames = 200; FlyingEnemy enemy1 = new FlyingEnemy(flyingDeadTexture, flyingAnimation); enemy1.Position = new Vector2(100, 500); enemy1.Size = new Vector2(flyingDeadTexture.Width, flyingDeadTexture.Height); enemy1.AddWaypoint(new Vector2(100, 500)); enemy1.AddWaypoint(new Vector2(400, 500)); _objects.Add(enemy1); }
private void Explode() { hasExploded = true; //Instantiate(explosionEffect, transform.position, transform.rotation); Collider[] colliders = Physics.OverlapSphere(transform.position, explosionRadius); foreach (Collider nearbyObject in colliders) { /*Rigidbody rgb = nearbyObject.GetComponent<Rigidbody>(); * if (rgb != null) * { * rgb.AddExplosionForce(force, transform.position, explosionRadius); * }*/ GroundEnemy gEnemy = nearbyObject.GetComponent <GroundEnemy>(); if (gEnemy != null) { gEnemy.TakeDamage(damage); } else { FlyingEnemy fEnemy = nearbyObject.GetComponent <FlyingEnemy>(); if (fEnemy != null) { fEnemy.TakeDamage(damage); } } Destroy(gameObject); } Destroy(gameObject); }
public void DamageActiveGameObject() { FlyingEnemy f = gameModelMock.Object.FlyingMonsters[0]; int damagedHealth = gameModelMock.Object.FlyingMonsters[0].Health - 10; gameLogicTest.DamageActiveGameObject(f, 10); Assert.That(gameModelMock.Object.FlyingMonsters[0].Health, Is.EqualTo(damagedHealth)); }
public void Start() { flyingEnemyScript = FindObjectOfType <FlyingEnemy>(); walkingEnemyScript = FindObjectOfType <WalkingEnemy>(); flyingEnemyRigidbody2D = flyingEnemyScript.gameObject.GetComponent <Rigidbody2D>(); walkingEnemyRigidbody2D = walkingEnemyScript.gameObject.GetComponent <Rigidbody2D>(); flyingEnemyIsDead = false; walkingEnemyIsDead = false; }
void Awake() { // Setting up the references. player = GameObject.FindGameObjectWithTag("Player"); playerHealth = player.GetComponent <PlayerHealth>(); enemyHealth = GetComponent <EnemyHealth>(); anim = GetComponent <Animator>(); flyingEnemy = GetComponent <FlyingEnemy>(); }
public void MoveFlyingEnemy() { FlyingEnemy f = gameModelMock.Object.FlyingMonsters[0]; Point nextStep = new Point(4, 4); gameLogicTest.MoveFlyingEnemy(f); Assert.That(gameModelMock.Object.FlyingMonsters[0].Cords, Is.EqualTo(nextStep)); }
void OnTriggerEnter(Collider other) { FlyingEnemy enemy = other.GetComponent <FlyingEnemy>(); if (enemy != null) { enemy.TakeDamage(); Destroy(gameObject); } }
void ChooseEnemyDirection(FlyingEnemy flyingEnemy) { int dir = spawnDirection > -1 ? spawnDirection : r.Next(0, 2); if (dir == 0) { flyingEnemy.startFromLeft(); } else { flyingEnemy.startFromRight(); } }
// Update is called once per frame void FixedUpdate() { FlyingEnemy flyingEnemy = this.transform.parent.GetComponent <FlyingEnemy>(); distance = Vector2.Distance(player.transform.position, this.transform.position); if (distance <= distanceLimit) { under = true; } else if (!flyingEnemy.under) { under = false; } }
// Update is called once per frame void Update() { //If health reaches 0 the enemy dies if (health <= 0) { Destroy(gameObject); Instantiate(blood, transform.position, Quaternion.identity); if (this.tag == "Boss") { SceneManager.LoadScene(5); } } if (dazedTime <= 0) //Add multiplier too { if (this.tag == "Skeleton") { skeleton = gameObject.GetComponent <GroundEnemy>(); skeleton.restoreSpeed(); } else if (this.tag == "Bat") { bat = gameObject.GetComponent <FlyingEnemy>(); bat.restoreSpeed(); } else if (this.tag == "Boss") { boss = gameObject.GetComponent <BossEnemy>(); boss.moveSpeed = 1; } } else { if (this.tag == "Skeleton") { skeleton = gameObject.GetComponent <GroundEnemy>(); skeleton.moveSpeed = 0; } else if (this.tag == "Bat") { bat = gameObject.GetComponent <FlyingEnemy>(); bat.moveSpeed = 0; } else if (this.tag == "Boss") { boss = gameObject.GetComponent <BossEnemy>(); boss.moveSpeed = 0; } dazedTime -= Time.deltaTime; } }
public void TakeDamage(float damage, float invulnPeriod) { if (!invulnerable) { health -= damage; invulnerable = true; if (health <= 0f) { //put what you want on death to happen if (me.CompareTag("Player")) { PlayerScript script = me.GetComponent <PlayerScript>(); script.Death(); } if (me.CompareTag("Mech")) { MechScript script = me.GetComponent <MechScript>(); script.Death(); } //put tags of other items here if (me.CompareTag("Patroller")) { PatrolEnemy script = me.GetComponent <PatrolEnemy>(); script.Death(); } if (me.CompareTag("Flyer")) { FlyingEnemy script = me.GetComponent <FlyingEnemy>(); script.Death(); } if (me.CompareTag("Bomber")) { BomberEnemy script = me.GetComponent <BomberEnemy>(); script.Death(); } if (me.CompareTag("Boss")) { BossEnemy script = me.GetComponent <BossEnemy>(); script.Death(); } } else { Invoke("RemoveInvuln", invulnPeriod); } } }
void SpawnEnemy() { // Create an enemy GameObject enemy = (GameObject)Instantiate(spawnedObject); FlyingEnemy flyingEnemy = enemy.GetComponent <FlyingEnemy>(); ChooseEnemyDirection(flyingEnemy); // Keep track of alive enemies enemies.Add(enemy.GetInstanceID(), enemy); waveEnemyCount++; spawnDelay = r.Next(minSpawnDelay, maxSpawnDelay); maxSpawned = r.Next(minSpawnCount, maxSpawnCount); lastSpawn.Reset(); lastSpawn.Start(); print("Enemy spawned! Active enemies:" + enemies.Count + " waveEnemyCount:" + waveEnemyCount); }
void OnCollisionEnter2D(Collision2D collision) { Enemy enemy = collision.collider.GetComponent <Enemy>(); FlyingEnemy flyingEnemy = collision.collider.GetComponent <FlyingEnemy>(); SpecialEnemy specialEnemy = collision.collider.GetComponent <SpecialEnemy>(); MutantFlyingEnemy mutantFlyingEnemy = collision.collider.GetComponent <MutantFlyingEnemy>(); InstantDeath instantDeath = collision.collider.GetComponent <InstantDeath>(); if (enemy != null) { SoundManagerScript.PlaySound("Hurt"); Hurt(invincibleTimeAfterHurt, 1); GameControl.totalLife -= 1; Debug.Log("Normal Enemy"); } if (flyingEnemy != null) { SoundManagerScript.PlaySound("Hurt"); Hurt(invincibleTimeAfterHurt, 2); GameControl.totalLife -= 2; Debug.Log("Flying Enemy"); } if (specialEnemy != null) { SoundManagerScript.PlaySound("Hurt"); Hurt(invincibleTimeAfterHurt, 1); GameControl.totalLife -= 1; Debug.Log("Special Enemy"); } if (mutantFlyingEnemy != null) { SoundManagerScript.PlaySound("Hurt"); Hurt(invincibleTimeAfterHurt, 3); GameControl.totalLife -= 3; Debug.Log("Mutant Enemy"); } if (instantDeath != null) { SoundManagerScript.PlaySound("Hurt"); Hurt(invincibleTimeAfterHurt, 3); GameControl.totalLife -= 3; Debug.Log("Instant Death"); } }
private void OnTriggerEnter2D(Collider2D collision) { Patrol enemy = collision.GetComponent <Patrol>(); if (enemy != null) { enemy.damage(damage); } FlyingEnemy enemy2 = collision.GetComponent <FlyingEnemy>(); if (enemy2 != null) { enemy2.damage(damage); } if (collision.name != "SchmanWithGun") { Destroy(gameObject); } }
void OnTriggerEnter(Collider col) { if (col.gameObject.layer == LayerMask.NameToLayer("Enemy")) { GroundEnemy gEnemy = col.GetComponent <GroundEnemy>(); if (gEnemy != null) { gEnemy.TakeDamage(damage); } else { FlyingEnemy fEnemy = col.GetComponent <FlyingEnemy>(); if (fEnemy != null) { fEnemy.TakeDamage(damage); } } Destroy(gameObject); } }
// Update is called once per frame void Update() { duration -= Time.deltaTime; if (duration <= 0) { Destroy(gameObject); } previousPosition = transform.position; transform.Translate(Vector3.forward * speed * Time.deltaTime); RaycastHit[] hits = Physics.RaycastAll(previousPosition, (transform.position - previousPosition).normalized, (transform.position - previousPosition).magnitude, GameManager.instance.player.shootLayerMask); for (int i = 0; i < hits.Length; i++) { LayerMask layer = hits[i].collider.gameObject.layer; //Debug.Log(hits[i].collider.name); if (layer == LayerMask.NameToLayer("Enemy")) { GroundEnemy gEnemy = hits[i].collider.GetComponent <GroundEnemy>(); if (gEnemy != null) { gEnemy.TakeDamage(damage); } else { FlyingEnemy fEnemy = hits[i].collider.GetComponent <FlyingEnemy>(); if (fEnemy != null) { fEnemy.TakeDamage(damage); } } Destroy(gameObject); } if (layer == LayerMask.NameToLayer("Geometry")) { Destroy(gameObject); } } }
// Use this for initialization void Start() { mySelf = GetComponentInParent <FlyingEnemy>(); myEnemySelf = GetComponentInParent <Enemy>(); }
// 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) { player = GameObject.FindGameObjectWithTag("Player").transform; rb = animator.GetComponent <Rigidbody2D>(); flyer = animator.GetComponent <FlyingEnemy>(); }
public void Shoot() { switch (actualWeapon) { case Weapon.rifle: actualARShootCooldown = playerModel.shootARCooldown; GameObject bulletAR; RaycastHit hitAR; if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hitAR, Mathf.Infinity, shootLayerMask)) { Vector3 dir = hitAR.point - bulletSpawner.transform.position; dir.Normalize(); bulletAR = Instantiate(bulletARPrefab, bulletSpawner.transform.position, bulletSpawner.transform.rotation); bulletAR.transform.forward = dir; //bulletAR.GetComponent<Rigidbody>().AddForce(dir * playerModel.shootForceAR * bulletAR.GetComponent<Rigidbody>().mass, ForceMode.Impulse); } else { bulletAR = Instantiate(bulletARPrefab, bulletSpawner.transform.position, Camera.main.transform.rotation); //bulletAR.GetComponent<Rigidbody>().AddForce(bulletSpawner.transform.forward * playerModel.shootForceAR * bulletAR.GetComponent<Rigidbody>().mass, ForceMode.Impulse); } actualOverheat += playerModel.bulletOverheat; gc.uiController.ChangeAROverheat(actualOverheat); if (actualOverheat >= playerModel.maxOverheatAR) { actualOverheat = playerModel.maxOverheatAR; saturatedAR = true; } break; case Weapon.shotgun: /*muzzleFlash.Play(); * muzzleFlash.GetComponentInChildren<WFX_LightFlicker>().StartCoroutine("Flicker");*/ for (int i = 0; i < pellets.Count; i++) { pellets[i] = Random.rotation; Quaternion rot = Quaternion.RotateTowards(bulletSpawner.transform.rotation, pellets[i], playerModel.shotgunSpreadAngle); RaycastHit hit; if (Physics.Raycast(Camera.main.transform.position, rot * Vector3.forward, out hit, playerModel.rangeShotgun, shootLayerMask)) { Debug.DrawRay(Camera.main.transform.position, rot * Vector3.forward, Color.red); //GameObject impact = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal)); GameObject impactHoleGO = Instantiate(impactHole, new Vector3(hit.point.x, hit.point.y + 0.1f, hit.point.z), Quaternion.LookRotation(hit.normal)); impactHoleGO.transform.parent = hit.transform; GroundEnemy gEnemy = hit.collider.GetComponent <GroundEnemy>(); if (gEnemy != null) { gEnemy.TakeDamage(playerModel.shotgunDamage); } else { FlyingEnemy fEnemy = hit.collider.GetComponent <FlyingEnemy>(); if (fEnemy != null) { fEnemy.TakeDamage(playerModel.shotgunDamage); } } /*imitHoles.Add(impactHoleGO); * * if (limitHoles.Count == 25) * { * Destroy(limitHoles[0]); * limitHoles.Remove(limitHoles[0]); * } * * GameController.instance.destroyObjects.Add(impactHoleGO);*/ //Destroy(impact, 2f); Destroy(impactHoleGO, 20f); } actualShotgunShootCooldown = playerModel.shootShotgunCooldown; shotgunShotted = true; } break; case Weapon.launcher: GameObject grenade = Instantiate(grenadePrefab, bulletSpawner.transform.position, bulletSpawner.transform.rotation); grenade.GetComponent <Rigidbody>().AddForce(bulletSpawner.transform.forward * playerModel.shootForceLauncher * grenade.GetComponent <Rigidbody>().mass, ForceMode.VelocityChange); ChangeGrenadeAmmo(); break; } }
void Start() { enemy = gameObject.GetComponent <FlyingEnemy>(); base.Start(); }
public _0024Landing_0024179(FlyingEnemy self_) { _0024self__0024181 = self_; }
private void SpawnFlyingEnemy() { FlyingEnemy flyingEnemy = new FlyingEnemy(ScreenManager.Game, ScreenManager.SpriteBatch, new Animation(animationStore["Kunai"]), player); flyingEnemies.Add(flyingEnemy); AudioManager.PlaySound("Shuriken_Throw"); }
/// <inheritdoc/> public void MoveFlyingEnemy(FlyingEnemy flyingEnemy) { flyingEnemy.Cords = new Point(flyingEnemy.Cords.X + this.gameModel.FlyingTrackingPath[flyingEnemy.Cords].X, flyingEnemy.Cords.Y + this.gameModel.FlyingTrackingPath[flyingEnemy.Cords].Y); }
// Use this for initialization void Start() { enemyAI = gameObject.GetComponentInParent <FlyingEnemy>(); }