コード例 #1
0
 // Each State have access to boss FSM (to change states), projectile, animator and enemy AI
 public BossState(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder)
 {
     bossAnimator   = animator;
     bossFSMObject  = bossFSM;
     bossProjectile = projectile;
     bossPathFinder = pathFinder;
 }
コード例 #2
0
ファイル: BossCtrl.cs プロジェクト: beyond1969/Graduator
 // Use this for initialization
 void Start()
 {
     m_targetCharacter = GameObject.FindGameObjectWithTag("Player").transform;
     //rigdBody = GetComponent<Rigidbody>();
     //fsm = GetComponent<BossFSM>();
     m_isAttack = false;
     fsm        = GetComponent <BossFSM>();
     BossHealth = GameObject.Find("BossHealthBar").GetComponent <Slider>();
 }
コード例 #3
0
    public Rage(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder, Transform bossZero, Boss bossObject) : base(bossFSM, projectile, animator, pathFinder)
    {
        bossReference = bossObject;

        bossZeroPoint    = bossZero;
        frontAttackPoint = bossZeroPoint.GetChild(0).transform;

        // Shooting delay
        delayAttackTime = 2f;

        // Angle to rotate
        angleToRotate = (360 / pointsCount) * Mathf.Deg2Rad;
    }
コード例 #4
0
ファイル: Boss.cs プロジェクト: KorossGame/GemHunter
    private void Start()
    {
        if (HPBar)
        {
            HPBar.fillAmount = HP * 1.0f / maxHP * 1.0f;
        }

        // Get player reference
        player = PlayerManager.instance.player.transform;

        // Set AI movement speed
        pathFinder       = GetComponent <NavMeshAgent>();
        pathFinder.speed = Speed;

        // Set weapon holder
        holderPoint = transform.Find("HolderPoint");

        // Activate FSM
        stateMachine = GetComponent <BossFSM>();

        // Add all possible states to stateMachine
        stateMachine.AddState(new Weakling(stateMachine, attackProjectiles[0], animator, pathFinder, attackPoints[0]));
        stateMachine.AddState(new Sorcerer(stateMachine, attackProjectiles[0], animator, pathFinder, attackPoints[1]));
        stateMachine.AddState(new Rage(stateMachine, attackProjectiles[0], animator, pathFinder, attackPoints[1], this));
        stateMachine.AddState(new Berserk(stateMachine, attackProjectiles[0], animator, pathFinder, attackPoints[1]));
        stateMachine.AddState(new Nightmare(stateMachine, attackProjectiles[1], animator, pathFinder, player.transform));
        stateMachine.AddState(new God(stateMachine, attackProjectiles[1], animator, pathFinder, this, energeticField));

        // Switch to first state
        stateMachine.changeState(stateMachine.possibleStates[0]);

        // Wait for cutscene to play
        activated = false;

        // Get reference to animator
        animator = GetComponent <Animator>();
    }
コード例 #5
0
ファイル: Weakling.cs プロジェクト: KorossGame/GemHunter
 public Weakling(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder, Transform holderPoint) : base(bossFSM, projectile, animator, pathFinder)
 {
     bossHolderPoint = holderPoint;
 }
 public BossStateDeleteEntity(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #7
0
 public BossStateSpawn(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
 public BossStateDeleteMuzzle(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #9
0
 public God(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder, Boss bossReference, GameObject energeticField) : base(bossFSM, projectile, animator, pathFinder)
 {
     bossObject           = bossReference;
     energeticFieldObject = energeticField;
 }
 public BossStateCreateMuzzle(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #11
0
 public BossStateAttack(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #12
0
 public Sorcerer(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder, Transform starAttackPointParent) : base(bossFSM, projectile, animator, pathFinder)
 {
     starAttackPoints = starAttackPointParent;
 }
コード例 #13
0
 public BossStateRetreat(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #14
0
 public BossStateMove(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #15
0
 public BossStateSpawn(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
 public BossStateCreateMuzzle(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #17
0
 public BossStateRetreat(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #18
0
ファイル: Nightmare.cs プロジェクト: KorossGame/GemHunter
 public Nightmare(BossFSM bossFSM, BossBullet projectile, Animator animator, NavMeshAgent pathFinder, Transform nullPoint) : base(bossFSM, projectile, animator, pathFinder)
 {
     delayAttackTime = 4f;
     nullAttackPoint = nullPoint;
 }
コード例 #19
0
 public BossStateDeleteMuzzle(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
 public BossStateDeleteEntity(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }
コード例 #21
0
 public BossStateMove(BossFSM _FSM)
 {
     m_BossFSM = _FSM;
 }