//敵の視野角にプレイヤーが侵入した時 void OnTriggerEnter(Collider other) { if (other.tag == "Player") { //もし、自分のEnemyStateManagerが検知できていなければ if (!m_EnemyStateManager) { //検知する if (transform.parent.gameObject.GetComponent <EnemyStateManager>()) { m_EnemyStateManager = transform.parent.gameObject.GetComponent <EnemyStateManager>(); //検知したScriptに情報を渡す。 m_EnemyStateManager.SetBattlePosture(other.transform); } } //もし、自分のEnemyStateManagerが検知できていなければ if (!m_EnemyStateManager2) { //検知する if (transform.parent.gameObject.GetComponent <EnemyStateManager2>()) { m_EnemyStateManager2 = transform.parent.gameObject.GetComponent <EnemyStateManager2>(); //検知したScriptに情報を渡す。 m_EnemyStateManager2.SetBattlePosture(other.transform); } } } }
public void Enter(EnemyStateManager stateManager) { //Animation stateManager.Animator.SetBool("IsIdle", false); stateManager.Animator.SetBool("IsChasing", true); stateManager.Animator.SetBool("IsDashing", false); }
void Start() { AI = gameObject.GetComponent <EnemyAI>(); stateManager = gameObject.GetComponent <EnemyStateManager>(); stateManager.HeroInRange += OnHeroInRange; stateManager.HeroOutOfRange += OnHeroOutOfRange; }
public void Update(EnemyStateManager stateManager) { var distance = Vector2.Distance(stateManager.transform.position, stateManager.Player.transform.position); if (!stateManager.inRange) { stateManager.TransitionToState(stateManager.IdleState); } else if (distance <= stateManager.AttackDistance) { stateManager.TransitionToState(stateManager.DashState); } if (stateManager.Player.transform.position.x > stateManager.transform.position.x) { stateManager.Rigidbody2D.velocity = new Vector2( stateManager.MoveSpeed, stateManager.Rigidbody2D.velocity.y); } else if (stateManager.Player.transform.position.x < stateManager.transform.position.x) { stateManager.Rigidbody2D.velocity = new Vector2( -stateManager.MoveSpeed, stateManager.Rigidbody2D.velocity.y); } }
private void InitEnemy() { _enemyStateManager = new EnemyStateManager(); //enemy load if (null != Enemy[0]) { _enemyStateList = new List <EnumyState>(); _wayPoint = new List <Vector3>(); _wayPoint.Add(new Vector3(-127.0f, 1.6f, -132.0f)); _wayPoint.Add(new Vector3(-127.0f, 1.6f, -227.0f)); _wayPoint.Add(new Vector3(-127.0f, 1.6f, -418.0f)); _wayPoint.Add(new Vector3(-288.0f, 1.6f, -420.0f)); _wayPoint.Add(new Vector3(-452.0f, 1.6f, -418.0f)); _wayPoint.Add(new Vector3(-452.0f, 1.6f, -277.0f)); _wayPoint.Add(new Vector3(-452.0f, 1.6f, -132.0f)); _wayPoint.Add(new Vector3(-614.0f, 1.6f, -132.0f)); for (int i = 0; i < _wayPoint.Count; ++i) { int EnemyTypeNum = Random.Range(0, Enemy.Length); GameObject EnemyObject = Instantiate(Enemy[EnemyTypeNum]) as GameObject; EnemyObject.transform.position = _wayPoint[i]; EnemyObject.gameObject.name = "Enemy_" + i; ObjectUI objUI = EnemyObject.AddComponent <ObjectUI>(); var enumyState = EnemyObject.GetComponent <EnumyState>(); enumyState.SetHpBar(objUI); _enemyStateList.Add(enumyState); } } }
private static EnemyStateManager GetInstance() { if (instance == null) { instance = FindObjectOfType <EnemyStateManager>(); } return(instance); }
public AttackingState(EnemyStateManager manager) { this.manager = manager; this.manager.regrouping = false; Debug.Log ("ATTACKING NOW"); if (manager.target == null) { manager.target = manager.isTargetVisible (); } }
public AttackingState(EnemyStateManager manager) { this.manager = manager; this.manager.regrouping = false; Debug.Log("ATTACKING NOW"); if (manager.target == null) { manager.target = manager.isTargetVisible(); } }
// Use this for initialization void Awake() { stateMan = GetComponent <EnemyStateManager>(); aimIk = GetComponent <AimIK>(); equipMan = GetComponent <EnemyEquipmentManager>(); abilities = GetComponent <EnemyAbilities>(); //条件を否定 ignoreMask = ~ignoreMask; }
public void Enter(EnemyStateManager stateManager) { //Animation stateManager.Animator.SetBool("IsIdle", true); stateManager.Animator.SetBool("IsChasing", false); stateManager.Animator.SetBool("IsDashing", false); stateManager.IsDashing = false; stateManager.Rigidbody2D.velocity = Vector2.zero; _currentAttackCooldown = stateManager.AttackCooldown; }
public void Update(EnemyStateManager stateManager) { if (stateManager.inRange && _currentAttackCooldown <= 0) { stateManager.TransitionToState(stateManager.ChaseState); } else { _currentAttackCooldown -= Time.deltaTime; } }
public void Enter(EnemyStateManager stateManager) { //Animation stateManager.Animator.SetBool("IsIdle", false); stateManager.Animator.SetBool("IsChasing", false); stateManager.Animator.SetBool("IsDashing", false); _currentDashTime = stateManager.DashTime; _currentChargeUpTime = _chargeUpTime; stateManager.IsDashing = true; stateManager.Rigidbody2D.velocity = new Vector2( stateManager.transform.localScale.x * stateManager.DashSpeed, stateManager.Rigidbody2D.velocity.y); }
IEnumerator SpawnEnemy() { float spawnDelay = 1f; Color initialColor = Color.white; Color flashColor = Color.red; float spawnTimer = 0f; while (spawnTimer < spawnDelay) { spawnTimer += Time.deltaTime; yield return(null); } Transform enemyToSpawn = enemiesToSpawn.Dequeue().enemyPrefab; Vector3 spawnPos = Vector3.zero; if (spawnPoints.Length > 0) { Transform spawnPoint = spawnPoints[Random.Range(0, spawnPoints.Length)].transform; Vector3 spawnBox = transform.localScale; Vector3 spawnPosition = new Vector3(Random.value * spawnBox.x, spawnBox.y, Random.value * spawnBox.z); spawnPosition = spawnPoint.TransformPoint(spawnPosition - spawnBox / 2); Ray ray = new Ray(spawnPosition, Vector3.down); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { spawnPos = hit.point; } } if (enemyToSpawn != null) { Quaternion spawnRotation = Quaternion.Euler(0, Random.Range(0f, 360f), 0); GameObject spawnedEnemy = Instantiate(enemyToSpawn, spawnPos + Vector3.up, spawnRotation).gameObject; EnemyStateManager enemySM = spawnedEnemy.GetComponentInParent <EnemyStateManager>(); if (enemySM != null) { enemySM.OnDeath += OnEnemyDeath; enemySM.isRaged = true; } } }
public void Update(EnemyStateManager stateManager) { if (_currentChargeUpTime > 0) { _currentChargeUpTime -= Time.deltaTime; stateManager.Animator.SetBool("IsDashing", true); } if (_currentDashTime > 0 && _currentChargeUpTime <= 0) { _currentDashTime -= Time.deltaTime; stateManager.Rigidbody2D.velocity = new Vector2( stateManager.transform.localScale.x * stateManager.DashSpeed, stateManager.Rigidbody2D.velocity.y); } else if (_currentDashTime <= 0 || !stateManager.inRange) { stateManager.IsDashing = false; stateManager.TransitionToState(stateManager.IdleState); } }
public RetreatingState(EnemyStateManager manager) { this.manager = manager; health = manager.myStats.health; }
public PatrollingState(EnemyStateManager manager) { this.manager = manager; manager.navMeshAgent.SetDestination(manager.target.transform.position); }
public WanderingState(EnemyStateManager manager) { this.manager = manager; }
public GuardingState(EnemyStateManager manager) { this.manager = manager; prevHealth = manager.myStats.health; }
// Use this for initialization private void Awake() { equipMan = GetComponent <EnemyEquipmentManager>(); abilities = GetComponent <EnemyAbilities>(); stateMan = GetComponent <EnemyStateManager>(); }
void Start() { stateManager = GetComponent <EnemyStateManager>(); enemy = GetComponent <Enemy>(); StartState(); }
public PatrollingState(EnemyStateManager manager) { this.manager = manager; manager.navMeshAgent.SetDestination (manager.target.transform.position); }
public WanderingState(EnemyStateManager manager) { this.manager = manager; }
public GuardingState(EnemyStateManager manager) { this.manager = manager; prevHealth = manager.myStats.health; }
public State(EnemyStateManager theManager) // Constructor that takes an argument. { manager = theManager; }
public void Update(EnemyStateManager stateManager) { }
public void Enter(EnemyStateManager stateManager) { }
public RetreatingState(EnemyStateManager manager) { this.manager = manager; health = manager.myStats.health; }
//public EnemyState(EnemyStageManager _enemy) //{ // enemy = _enemy; //} protected virtual void Start() { enemy = gameObject.GetComponent <EnemyStateManager>(); }
public EnemyStateFleeing(EnemyStateManager theManager) : base(theManager) { }
public RunOutState(EnemyStateManager manager) { this.manager = manager; manager.fieldOfView = 360; }
public RunOutState(EnemyStateManager manager) { this.manager = manager; manager.fieldOfView = 360; }
public FleeingState(EnemyStateManager manager) { this.manager = manager; }
public EnemyStateWandering(EnemyStateManager theManager) : base(theManager) { }
public EnemyStateSeeking(EnemyStateManager theManager) : base(theManager) { }
public FleeingState(EnemyStateManager manager) { this.manager = manager; }