// function to create numberOFEnemies of enemies by using Prefab void createEnemies(int numberOFEnemies) { currentEnemyNames = new string[numberOfEnemies]; // there are numberOFEnemies objects we want to fit between // yBoundryTop and yBoundryBottom // so we use for loop here to create all objects and for each // enemy we need to specify their top posiiton, bottom position // and they speed they will move back and forth in the Y axis float zonePerEnemy = (yBoundryTop - yBoundryBottom) / numberOFEnemies; for (int i = 0; i < numberOFEnemies; i++) { float enemyBottomPosition = yBoundryBottom + i * zonePerEnemy; float enemyTopPosition = enemyBottomPosition + zonePerEnemy; GameObject clone = Instantiate(enemyPrefab, new Vector3(0, (enemyBottomPosition + enemyTopPosition) / 2, 0), Quaternion.identity) as GameObject; string enemyName = string.Format("enemy-{0}", i); currentEnemyNames[i] = enemyName; clone.name = enemyName; EnemyMove em = clone.GetComponent <EnemyMove>(); em.yBoundryBottom = enemyBottomPosition; em.yBoundryTop = enemyTopPosition; EnemyWeapon ew = clone.GetComponent <EnemyWeapon>(); ew.bulletSpeed = enemyBulletSpeed; } //increase enemyBulletSpeed each time they are re-created enemyBulletSpeed++; }
void Start() { _enemyWeapon = EnemyWeapon.CreatePistol(); SetHP(); SetPoints(); _source = gameObject.GetComponentInChildren <AudioSource>(); }
public override string ToString() { string stateString = ""; // Players Weapon Type stateString = stateString + Weapon.ToString(); stateString = stateString + " "; // Players Ammo stateString = stateString + AmmoAmount.ToString(); stateString = stateString + " "; // Enemy Weapon Type stateString = stateString + EnemyWeapon.ToString(); stateString = stateString + " "; // Enemy Ammo stateString = stateString + EnemyAmmoAmount.ToString(); stateString = stateString + " "; // XCloseness to Enemy stateString = stateString + XDistanceToEnemy.ToString(); stateString = stateString + " "; // YCloseness to Enemy stateString = stateString + YDistanceToEnemy.ToString(); return(stateString); }
protected virtual IEnumerator Attack(Vector3 target, bool melee = false) { EnemyWeapon w = melee ? new EnemyFists() : weapon; behaviuor = Behaviour.attack; yield return(new WaitForSeconds(w.delay)); Vector3 direction = Spread(w.spread) * (target - pointCenter); Ray ray = new Ray(pointCenter, direction); lineRend.enabled = true; lineRend.SetPosition(0, lineRend.transform.position); lineRend.SetPosition(1, pointCenter + direction * 5); if (audioController) { audioController.PlayOneShot(sound_shoot); } // Debug.DrawRay(pointCenter, direction, Color.green, 2f); //Debug.Log("shoot"); animator.SetTrigger(w.trigger); RaycastAttack(ray, weapon.damage, weapon.range); yield return(new WaitForSeconds(1 - w.delay)); lineRend.enabled = false; behaviuor = Behaviour.idle; }
public AttackState(EnemyWeapon enemyWeapon, Animator animator, Mover mover, Transform player) : base(mover, animator.transform, player) { _enemyWeapon = enemyWeapon; _animator = animator; _hasAnimator = true; }
public void Initialize() { // 默认装备,可以在后续修改其对象 EnemyMono = Enemy.GameObjectInScene.GetComponent <IEnemyMono>(); if (EnemyMono != null) { EnemyMono.EnemyMedi = this; EnemyMono.AnimatorComponent = Enemy.animator; EnemyMono.Rgbd = Enemy.Rgbd; EnemyMono.BdTree = Enemy.bt; EnemyMono.NavMeshAgentComponent = Enemy.navMeshAgent; EnemyWeapon = EnemyMono.iEnemyWeapon; EnemyMono.Initialize(); if (EnemyWeapon != null) { EnemyWeapon.EnemyMedi = this; EnemyWeapon.Initialize(); EnemyMono.WeaponCollider = EnemyWeapon.WeaponCollider; } else { Debug.LogError("iEnemyWeapon未赋值"); } } UpdateEnemyWeapon(EnemyMono.iEnemyWeapon); }
public void RotateWeapon(EnemyWeapon _weapon, Transform targetPos) { Vector2 lookDir = _weapon.rb.position - (Vector2)targetPos.position; float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg + 90; _weapon.transform.rotation = Quaternion.Euler(0f, 0f, angle); }
private void Awake() { m_Weapon = gameObject.GetRequiredComponent <EnemyWeapon>(); m_Health = gameObject.GetRequiredComponent <EnemyHealth>(); m_Animator = gameObject.GetRequiredComponent <EnemyAnimator>(); m_StateController = gameObject.GetRequiredComponent <EnemyStateController>(); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { weapon = animator.GetComponentInChildren <EnemyWeapon>(); weaponTrigger = weapon.weaponTrigger; weaponScript = weaponTrigger.GetComponent <AttackTriggerCollision>(); weaponTrigger.SetActive(true); }
private void Awake() { _rigidbody2d = GetComponent <Rigidbody2D>(); _animator = GetComponent <Animator>(); _weapon = GetComponentInChildren <EnemyWeapon>(); _enemy = GetComponent <Enemy>(); _weapon.InputDamage(damage); }
public static EnemyWeapon CreateMachinegun() { EnemyWeapon enemyMachinegun = new EnemyWeapon(); enemyMachinegun._weaponDamage = 20; enemyMachinegun._weaponFireRate = 0.25f; return(enemyMachinegun); }
public static EnemyWeapon CreatePistol() { EnemyWeapon enemyPistol = new EnemyWeapon(); enemyPistol._weaponDamage = 10; enemyPistol._weaponFireRate = 0.45f; return(enemyPistol); }
private void Awake() { enemyPathfinding = GetComponent <EnemyPathfinding>(); enemyShoot = GetComponent <EnemyShoot>(); enemyWeapon = transform.GetComponentInChildren <EnemyWeapon>(); moveState = MoveState.Roaming; attackState = AttackState.Idle; }
// Start is called before the first frame update public override void Start() { base.Start(); nav = GetComponent <Navigator>(); follow = new FollowCommand(nav.GetController(), 5f, player, 5f); explosion = GetComponent <EnemyExplosion>(); damagableBehaviour.damagable = new SuicideBoxDamagable(this, 10, 0, 0); nav.SetMoveCommand(follow); }
private void InitializeWeapon() { if (!weaponConfig) { return; } weapon = (EnemyWeapon)weaponConfig.Create(); weapon.SetTurretPosition(turret); }
void Start() { shooting = GetComponent <AudioSource>(); enemyWeapon = GetComponentInChildren <EnemyWeapon>(); animator = GetComponentInChildren <Animator>(); myrender = gameObject.GetComponent <Renderer>(); mybody = gameObject.GetComponent <Rigidbody>(); }
private Vector3 FindWeaponRangePosition(EnemyWeapon weapon) { float minRange = weapon.weaponMinRange; float maxRange = weapon.weaponMaxRange; float randomX = Random.Range(-3f, 3f); float randomY = _spawnedTop ? Random.Range(minRange, maxRange) : Random.Range(-maxRange, -minRange); return(new Vector3(randomX, randomY)); }
private void Awake() { enemy = GetComponent <Enemy>(); weapon = GetComponentInChildren <EnemyWeapon>(); animator = GetComponent <Animator>(); enemyController2D = GetComponent <EnemyController2D>(); boxCollider2D = GetComponent <BoxCollider2D>(); player = GameObject.FindGameObjectWithTag(Tags.player).transform; }
// Start is called before the first frame update void Start() { weaponComp = GetComponent <EnemyWeapon>(); animator = GetComponent <Animator>(); if (LevelsController.GetInstance() != null && LevelsController.GetInstance().currenLevel != null) { LevelsController.GetInstance().currenLevel.EnemySpawned(this); } }
private void Start() { weapon = holder.spawnedWeapon; playerTransform = GameObject.FindGameObjectWithTag("Player").transform; health = startHealth; timeBtwAttack = startTimeBtwAttack; rb = this.GetComponent <Rigidbody2D>(); anim = this.GetComponent <Animator>(); patrolPoint = SetRandomPosition(patrolPoint, offset); }
// Start is called before the first frame update void Start() { playerState = FindObjectOfType <PlayerStateScript>(); AIController = GetComponentInChildren <AIControllerBase>(); enemyUIController = GetComponentInChildren <EnemyUIController>(); playerNavPoint = FindObjectOfType <Player>().gameObject.GetComponentInChildren <NavPoint>(); AI_Weapon = GetComponentInChildren <EnemyWeapon>().gameObject; myWeapon = AI_Weapon.GetComponent <EnemyWeapon>(); damageEvent.AddListener(OnEnemyDamageApplied); }
private void Start() { animator = this.gameObject.GetComponentInChildren <Animator>(); atkMng = this.gameObject.GetComponent <AtkMng>(); enemyWeapon = this.gameObject.GetComponentInChildren <EnemyWeapon>(); nav = this.gameObject.GetComponent <NavMeshAgent>(); enemyTakingDamage = this.gameObject.GetComponent <EnemyTakingDamage>(); Equipment(); }
private void Start() { rb = this.GetComponent <Rigidbody2D>(); playerTransform = GameObject.FindGameObjectWithTag("Player").transform; randomSpot = SetRandomPos(randomSpot, offset); anim = this.GetComponent <Animator>(); weapon = holder.spawnedWeapon; timeBtwAttack = startTimeBtwAttack; health = startHealth / 2; }
protected virtual void Start() { controller = GetComponent <CharacterController_lsy>(); character = GetComponent <Character_lsy>(); characterWeapon = GetComponent <CharacterWeapon_lsy>(); playerWeapon = GetComponent <PlayerWeapon>(); enemyWeapon = GetComponent <EnemyWeapon>(); characterMovement = GetComponent <CharacterMovement_lsy>(); animator = GetComponent <Animator>(); }
private void Start() { animator = GetComponent <Animator>(); enemyAI = GetComponent <EnemyAI>(); enemyWeapon = GetComponent <EnemyWeapon>(); currentWeaponDamage = enemyWeapon.weaponDamage; // get the current weapon damage value pointsCalculator = FindObjectOfType <PointsCalculator>(); spriteRenderer = GetComponent <SpriteRenderer>(); rb2D = GetComponent <Rigidbody2D>(); audioManager = FindObjectOfType <AudioManager>(); }
void Start() { enemyArm = transform.Find("EnemyArm").gameObject; RandomizeStartingWeapon(); if (enemyArm.transform.childCount > 0) { enemyWeapon = enemyArm.transform.GetChild(0).gameObject; } player = Player.instance; enemyMovementScript = gameObject.GetComponent <EnemyMovement>(); enemyWeaponScript = enemyArm.GetComponentInChildren <EnemyWeapon>(); lootDropScript = GetComponent <LootDrop>(); levelExitScript = GameObject.Find("LevelExitTrigger").GetComponent <LevelExit>(); cursor = MouseCursor.instance; gadgetScript = GameObject.Find("GadgetSlotPanel").GetComponent <Gadget>(); scannerInfoTooltip = gadgetScript.scannerInfoTooltip; spriteRenderer = GetComponent <SpriteRenderer>(); playerCapsuleCollider = player.GetComponent <CapsuleCollider2D>(); thisEnemyCollider = GetComponent <CapsuleCollider2D>(); hearingCollider = transform.Find("Hearing").GetComponent <CircleCollider2D>(); sightCollider = transform.Find("Sight").GetComponent <CircleCollider2D>(); lootBoxCollider = GetComponent <BoxCollider2D>(); lootBoxCollider.enabled = false; Physics2D.IgnoreCollision(thisEnemyCollider, playerCapsuleCollider); enemyStats.actualMaxHealth = enemyStats.maxHealth * enemyStats.startHealthPercent; enemyStats.Init(); actualMoney = Mathf.RoundToInt(Random.Range(minMoneyDrop, maxMoneyDrop)); anim = GetComponent <Animator>(); anim.SetFloat("health", enemyStats.currentHealth); /*if (statusIndicator != null) * { * statusIndicator.SetHealth(enemyStats.currentHealth, enemyStats.maxHealth); // Set health to max health at start * }*/ GameMaster.gm.onToggleUpgradeMenu += OnUpgradeMenuToggle; GameMaster.gm.onTogglePauseMenu += OnPauseMenuToggle; audioManager = AudioManager.instance; if (audioManager == null) { Debug.LogError("No audio manager in scene."); } }
void Start() { ani = gameObject.GetComponent <Animator>(); ani.enabled = false; _enemyWeapon = EnemyWeapon.CreatePistol(); SetHP(); SetPoints(); _naziAI = gameObject.GetComponent <EnemyAI>(); _playerDetected = false; _source = gameObject.GetComponentInChildren <AudioSource>(); }
void Start() { ani = gameObject.GetComponent <Animator>(); ani.enabled = false; _enemyWeapon = EnemyWeapon.CreateMachinegun(); SetHP(); SetPoints(); _ssAI = gameObject.GetComponent <SuperSoldierAI>(); _playerDetected = false; _source = gameObject.GetComponentInChildren <AudioSource>(); }
void Start() { weapon = GetComponent <EnemyWeapon>(); firingState.weapon = weapon; //load the agent for load it in the states agent = GetComponent <NavMeshAgent>(); moving = canMove; // set the state of moving, if the enemy canMove or is a static if (target == null) { target = GameObject.FindGameObjectWithTag("Player"); } }
private void EquipWeapon() { // this will kill the firing coroutine started from the weapon // when its a projectile based weapon StopAllCoroutines(); currentWeapon = selectedEnemyWeapon; SetupWeapon(weaponPos ?? transform); _fireWaitForSeconds = new WaitForSeconds(currentWeapon.ProjectileFiringPeriod); }
void OnDestroy() { Target = null; weapon = null; }
void Start() { state = EnemyState.Idle; weapon = (EnemyWeapon)GetComponent<EnemyWeapon>(); }