void LookAForNextState(BossBehaviour currentState) { state = currentState; switch (currentState) { case BossBehaviour.IDLE: StartCoroutine(Idle()); break; case BossBehaviour.TAUNT: StartCoroutine(TauntWait()); break; case BossBehaviour.FALLINGROCKS: if (!runOnce) { runOnce = true; StartCoroutine(SummonFallingRock()); } break; case BossBehaviour.ATTACK01: StartCoroutine(Attack1()); break; case BossBehaviour.ATTACK02: StartCoroutine(Attack2()); break; } }
private void executeBehavior(BossBehaviour behaviour) { var defaultColor = GetComponent <SpriteRenderer>().color; //GetComponent<Animator>().speed = 0; switch (behaviour) { case BossBehaviour.Generate: GetComponent <SpriteRenderer>().color = Color.blue; StartCoroutine(spawnDummy(10, 4, 4f, defaultColor)); break; case BossBehaviour.BulletHell: GetComponent <SpriteRenderer>().color = Color.cyan; StartCoroutine(untargetedFire(4f, speed, defaultColor)); break; case BossBehaviour.Shake: rb2d.AddForce(250 * transform.up); enemy_anim.SetBool("Attack", true); FMOD.Studio.EventInstance shakeSound = FMODUnity.RuntimeManager.CreateInstance("event:/Combat/BossHitGround"); shakeSound.start(); break; } }
void Start() { fireEleAI = GetComponentInParent <FireElementalAI>(); skeletonAI = GetComponentInParent <SkeletonAI>(); enemyMage = GetComponentInParent <EnemyMage>(); bossBehaviour = GetComponentInParent <BossBehaviour>(); }
public void StartGame() { if (bossBehaviour == null) { bossBehaviour = FindObjectOfType <BossBehaviour>(); } RuntimeTimer = Timer; bossBehaviour.Revieve(); bTimerActive = true; PlayerShootProjectile player = FindObjectOfType <PlayerShootProjectile>(); player.Reset(); cameraBehaviour.ResetCamera(); if (princeGO) { Destroy(princeGO); } foreach (StatueBehaviour statue in AllStatues) { Destroy(statue.gameObject); } AllStatues.Clear(); }
// Use this for initialization void Start() { if (!transform.parent.name.Contains("Boss")) { _behaviour = GetComponentInParent <EnemyBehaviour>(); if (_behaviour._topdown) { _cooldownComparator = 1f; } else { _cooldownComparator = 4f; } _gunAudio = GetComponent <AudioSource>(); } else { _bossBehaviour = GetComponentInParent <BossBehaviour>(); _player = GameObject.Find("Pleiades"); if (_bossBehaviour._topdown) { _cooldownComparator = 1f; } else { _cooldownComparator = 4f; } } }
private string GetNodePath(BossBehaviour behaviour, BehaviourNode node) { var arrayName = node is ActionBehaviourNode ? "_actionBehaviours" : "_compoundBehaviours"; var arrayField = behaviour.GetType().GetField(arrayName, BindingFlags.NonPublic | BindingFlags.Instance); if (arrayField == null) { throw new ApplicationException(string.Format("Cannot find field {0} in class {1}", arrayName, behaviour.GetType())); } var dict = arrayField.GetValue(behaviour); var keysField = FindFieldInHierarchy(dict.GetType(), "_keys"); if (keysField == null) { throw new ApplicationException(string.Format("Cannot find field {0} in class {1}", "_keys", dict.GetType())); } var list = (IList)keysField.GetValue(dict); var index = list.IndexOf(node.Guid); if (index < 0) { throw new ArgumentException(string.Format("Cannot find node {0}", node)); } var path = string.Format("{0}._values.Array.data[{1}]", arrayName, index); return(path); }
public void Resetter() { BossBehaviour bossBehaviour = boss.GetComponent <BossBehaviour>(); ResetScreen.SetActive(false); //resetting boss battle BossTrigger.bossMusicPlaying = false; if (bossDefeated == false) { bossBehaviour.bossHP = 3; bossBehaviour.BossRespawn(); FindObjectOfType <AudioManager>().Play("MainTheme"); } else { FindObjectOfType <AudioManager>().Play("EndingTheme"); } //Checkpoint respawn Player.transform.position = respawnPoint; //Enemies respawnen foreach (GameObject enms in allEnemies) { enms.SetActive(true); } scriptedEvent = false; }
//protected BossAttackAnimator bossAttackAnimator; // Start is called before the first frame update void Start() { bossBehaviour = GetComponent <BossBehaviour>(); stunAnimator = GetComponent <StunAnimator>(); damageableAnimator = GetComponent <DamageableAnimator>(); projectileSummonerBehaviour = gameObject.GetComponent <ProjectileSummonerBehaviour>(); GoToNextState(); }
// 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>(); boss = animator.GetComponent <BossBehaviour>(); rb.constraints = RigidbodyConstraints2D.FreezeRotation; }
void Start() { currentScene = SceneManager.GetActiveScene(); sceneName = currentScene.name; if (sceneName == "BossScene") { inst = GameObject.FindGameObjectWithTag("Boss").GetComponent <BossBehaviour>(); } }
// 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) { rb = animator.GetComponent <Rigidbody2D>(); boss = animator.GetComponent <BossBehaviour>(); wallTarget = boss.nearestWall(); boss.backing = false; rb.constraints = RigidbodyConstraints2D.FreezeRotation; }
/// <summary> /// Creates fight in the given position with the given Hero Data (DNA) and Boss Data (BossHevaviour) /// </summary> private Fight CreateFight(Vector3 position, DNA dna, BossBehaviour bossBehaviour) { Fight newFight = Instantiate(FightPrefab, position, FightPrefab.transform.rotation).GetComponent <Fight>(); newFight.StartFight(dna, bossBehaviour); newFight.name = newFight.nameGo = "Fight " + (fightList.Count + 1); newFight.transform.parent = fightContainer; return(newFight); }
public static InspectorPopup ShowInspectorPopup(BossBehaviour behaviour, BehaviourNode node) { var window = GetWindow <InspectorPopup>(); window.titleContent = new GUIContent("Node Editor"); window._editor = BehaviourNodeEditor.CreateEditorForProperty(behaviour, window.GetNodePath(behaviour, node)); return(window); }
void Start() { bossBehaviour = GetComponent <BossBehaviour>(); weaponController = FindObjectOfType <WeaponController>(); playerStats = FindObjectOfType <PlayerStats>(); anim = GetComponent <Animator>(); currentHealth = maxHealth; }
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { BossBehaviour bossBehaviour = animator.transform.root.GetComponent <BossBehaviour>(); if (bossBehaviour) { bossBehaviour.SetAllowMovement(true); } }
IEnumerator ChangeBehaviour() { isReadyToChangeState = false; float wait = Random.Range(5, 8); bossBehaviour = BossBehaviour.Break; yield return(new WaitForSeconds(wait)); bossBehaviour = (BossBehaviour)Random.Range(0, 3); }
public override void Act(DayFSM FSM) { BossBehaviour BossB = FSM.bossB; if (BossB != null) { BossB.navMeshAgent.destination = BossB.target.transform.position; BossB.navMeshAgent.isStopped = false; } }
/// <summary> /// Sets the Fight Data /// </summary> public void StartFight(DNA dna, BossBehaviour newBehaviour) { hero = Instantiate(hero, heroSpawn); boss = Instantiate(boss, bossSpawn); hero.InitHero(dna); if (newBehaviour) { boss.currentBehaviour = newBehaviour; } }
private void GoToNextBehaviour() { currentBehaviour.Reset(); currentBehaviourIndex = (currentBehaviourIndex + 1) % totalbehaviours; currentBehaviour = behaviourLoop[currentBehaviourIndex]; CheckBehaviourSkips(); currentBehaviour.StartBehaviour(); }
public void OnDeath() { if (!!bossGO) { BossBehaviour bb = bossGO.GetComponent <BossBehaviour>(); bb.crystals_left -= 1; } Destroy(gameObject); }
void Start() { if (gameObject.tag == "Boss") { boss = FindObjectOfType <BossBehaviour>(); } else { waypointSystem = FindObjectOfType <WayPointSystem>(); } }
void OnTriggerStay2D(Collider2D coll) { if (coll.gameObject.tag == "Player" && !_applyForce && _impaledEnemy != null) { EnemyBehaviour enemyBehaviour = _impaledEnemy.gameObject.GetComponent <EnemyBehaviour>(); if (enemyBehaviour != null) { if (enemyBehaviour._health <= 400) { if (coll.gameObject.GetComponent <PlatformControls>() != null) { coll.gameObject.GetComponent <PlatformControls>()._health += _impaledEnemy.gameObject.GetComponent <EnemyBehaviour>()._health; } else if (coll.gameObject.GetComponent <TopDownControls>() != null) { coll.gameObject.GetComponent <TopDownControls>()._health += _impaledEnemy.gameObject.GetComponent <EnemyBehaviour>()._health; } _impaledEnemy.gameObject.GetComponent <EnemyBehaviour>()._health += 10000; if (coll.transform.Find("RangedCombatHandler") != null) { coll.transform.Find("RangedCombatHandler").GetComponent <HandleRangedDamage>()._currentAmount -= 1; } _impaledEnemy.gameObject.GetComponent <EnemyBehaviour>()._shouldDestroy = true; Destroy(gameObject); } } else { BossBehaviour bossBehaviour = _impaledEnemy.gameObject.GetComponent <BossBehaviour>(); if (bossBehaviour._health <= 400) { // coll.gameObject.GetComponent<PlatformControls>()._health += bossBehaviour._health; // bossBehaviour._health += 10000; if (coll.GetComponent <PlatformControls> () != null) { coll.transform.Find("RangedCombatHandler").GetComponent <HandleRangedDamage> ()._currentAmount -= 1; } Destroy(gameObject); } } } else if (coll.gameObject.tag == "Player" && !_applyForce && _impaledGround != null) { if (coll.GetComponent <PlatformControls> () != null) { coll.transform.Find("RangedCombatHandler").GetComponent <HandleRangedDamage> ()._currentAmount -= 1; } Destroy(gameObject); } else if (coll.gameObject.tag == "Player" && _impaledGround == null && _impaledEnemy == null && !_applyForce) { Destroy(gameObject); } }
// 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) { rb = animator.GetComponent <Rigidbody2D>(); boss = animator.GetComponent <BossBehaviour>(); rb.constraints = RigidbodyConstraints2D.FreezeAll; rb.simulated = false; boss.inHeal = true; boss.SpawnAntennas(); protectionOrb = Instantiate(boss.protectionOrbPrefab, boss.transform.position + new Vector3(0, 1.5f, 0), boss.transform.rotation); }
public void Init(BossBehaviour _linkedBoss, float _previewDuration, float _pushForce, float _damages, float _pushRange, float _damageRange) { transform.localScale = Vector3.one * _damageRange * 2f; previewDuration = _previewDuration; pushForce = _pushForce; damages = _damages; pushRange = _pushRange; damageRange = _damageRange; linkedBoss = _linkedBoss; StartCoroutine(TeaBag_C()); Destroy(this.gameObject, previewDuration + 0.1f); }
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!DeactivateEventSend) { DeactivateEventSend = true; BossBehaviour bossBehaviour = animator.transform.root.GetComponent <BossBehaviour>(); if (bossBehaviour) { bossBehaviour.WeakPointState(false); } } }
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { base.OnStateUpdate(animator, stateInfo, layerIndex); if (AttackTimes.Length > AttackIndex && stateInfo.normalizedTime > AttackTimes[AttackIndex]) { AttackIndex++; BossBehaviour bossBehaviour = animator.transform.root.GetComponent <BossBehaviour>(); if (bossBehaviour) { bossBehaviour.Attack(); } } }
/// </summary> void Start() { playerDamage = GetComponent <AudioSource>(); currentScene = SceneManager.GetActiveScene(); sceneName = currentScene.name; isDead = false; bossDead = false; instance = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>(); if (sceneName == "BossScene") { inst = GameObject.FindGameObjectWithTag("Boss").GetComponent <BossBehaviour>(); } }
private void OnTriggerEnter2D(Collider2D collision) { PlayerController pc = collision.GetComponent <PlayerController>(); if (!!pc && !!bossGO) { BossBehaviour bb = bossGO.GetComponent <BossBehaviour>(); if (!!bb) { bb.bossPulled = true; } } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Obstacle")) { Destroy(gameObject); } if (shooter == Shooter.player) { EnemyAIController enemy = collision.GetComponent <EnemyAIController>(); BossBehaviour boss = collision.GetComponent <BossBehaviour>(); ProtectionAntenna antenna = collision.GetComponent <ProtectionAntenna>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } if (boss != null) { boss.TakeDamage(shootDamage); Destroy(gameObject); } if (antenna != null) { antenna.TakeDamage(shootDamage); Destroy(gameObject); } /* if (!collision.CompareTag("Player")) * Destroy(gameObject);*/ } else { PlayerCombat enemy = collision.GetComponent <PlayerCombat>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } /* if (!collision.CompareTag("Enemy")) * Destroy(gameObject);*/ } }
private void OnEnable() { m_BossBehaviour = GetComponent <BossBehaviour>(); m_Animator = GetComponent <Animator>(); m_Ai.OpenBranch( BT.RandomSequence().OpenBranch( BT.Root().OpenBranch( BT.Trigger(m_Animator, "Walk 1"), BT.Wait(0.2f), BT.WaitForAnimatorState(m_Animator, "Idle 1") ) ) ); }