Exemplo n.º 1
0
 void Start()
 {
     m_anim       = GetComponent <EnemyAnim>();
     m_controller = GetComponent <EnemyController>();
     m_forces     = GetComponent <EnemyForces>();
     m_dev        = GetComponent <PlayerDevToss>();
 }
Exemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        if (Random.Range(0, 2) == 1)
        {
            right = true;
            left  = false;
        }
        else
        {
            left  = true;
            right = false;
        }
        dead         = false;
        velocity     = new Vector2();
        rigidBody    = GetComponent <Rigidbody2D>();
        spriteRender = GetComponent <SpriteRenderer>();

        sight = GetComponentInChildren <EnemySight>();

        firstShootTime = shootTime;
        firstSightTime = sightTime;

        sceneController = GameObject.Find("SceneController");

        player = FindObjectOfType <Player>();

        attackBounds = GetComponentInChildren <EnemyAttackBounds>();

        anim = GetComponentInChildren <EnemyAnim>();
    }
Exemplo n.º 3
0
 private void Start()
 {
     anim   = GetComponent <EnemyAnim>();
     player = GameObject.FindGameObjectWithTag("Player").transform;
     StartSet();
     currentHealth = maxHealth;
 }
Exemplo n.º 4
0
 public override void Shoot()
 {
     EnemyAnim.SetFloat(parameterSpeedHash, 0);
     enemyInfo.isMeleeAttacking  = false;
     enemyInfo.isRangedAttacking = true;
     EnemyAnim.SetTrigger(parameterRangedHash);
 }
Exemplo n.º 5
0
 //this starts the animation for melee
 public override void Attack()
 {
     enemyInfo.isRangedAttacking = false;
     enemyInfo.isMeleeAttacking  = true;
     Robot01JetAnim.SetFloat(parameterSpeedHash, 0);
     EnemyAnim.SetTrigger(parameterMeleeHash);
 }
Exemplo n.º 6
0
 protected override void OnCollisionEnter2D(Collision2D collision)
 {
     base.OnCollisionEnter2D(collision);
     if (collision.gameObject.tag == "Player")
     {
         Die();
         EnemyAnim.SetTrigger(parameterDieHash);
     }
 }
Exemplo n.º 7
0
 public override void Move()
 {
     if ((enemyMovementInfo.FacingDirection == -1 && enemyMovementInfo.canMoveLeft) || (enemyMovementInfo.FacingDirection == 1 && enemyMovementInfo.canMoveRight))
     {
         EnemyAnim.SetFloat(parameterSpeedHash, 1);
         EnemyTransform.localScale = new Vector3(Mathf.Abs(EnemyTransform.localScale.x) * -enemyMovementInfo.FacingDirection, EnemyTransform.localScale.y, EnemyTransform.localScale.z);// we put - enemyMovementInfo.FacingDirection cause this enemy's sprite starts facing left
         EnemyTransform.Translate(Vector2.right * enemyMovementInfo.FacingDirection * (enemyStats.movementSpeed * Time.deltaTime));
     }
 }
Exemplo n.º 8
0
 public void Summon()
 {
     Instantiate(summonPool[0], summonSpawn.position, summonSpawn.rotation);
     stateInfo.summonCounter--;
     if (stateInfo.summonCounter <= 0)
     {
         EnemyAnim.SetTrigger(parameterEndSummongHash);
         PickNextAttackState();
     }
 }
Exemplo n.º 9
0
Arquivo: Enemy.cs Projeto: lwlwdnx/SCP
 private void Stun()
 {
     isStake         = false;
     enemy.isStopped = true;
     anim_state      = EnemyAnim.IDLE;
     stun_time      -= Time.deltaTime;
     if (stun_time < 0.0f)
     {
         state = EnemyState.PATROL; enemy.isStopped = false;
     }
 }
Exemplo n.º 10
0
 public override void Attack()
 {
     if (enemyMovementInfo.isGrounded)
     {
         EnemyAnim.SetFloat(parameterSpeedHash, 0);
         enemyInfo.isRangedAttacking = false;
         enemyInfo.isMeleeAttacking  = true;
         EnemyAnim.SetTrigger(parameterMeleeHash);
         CalculateAndApplyJump();
     }
 }
Exemplo n.º 11
0
 // Start is called before the first frame update
 void Start()
 {
     enemyAnimScript      = GetComponent <EnemyAnim>();
     enemyRb              = GetComponent <Rigidbody>();
     initialRbConstraints = enemyRb.constraints;
     enemyHealth          = GetComponent <HealthSystem>();
     gameManager          = FindObjectOfType <GameManager>();
     playerTransform      = GameObject.Find("Player").GetComponent <Transform>();
     playerController     = GameObject.Find("Player").GetComponent <PlayerController>();
     StartMovement();
 }
Exemplo n.º 12
0
    public IEnumerator ChargeShot()
    {
        float chargeTime = 0f;

        while (chargeTime < bossStats.normalMeleeChargingTime)
        {
            chargeTime += .5f;
            yield return(new WaitForSeconds(.5f));
        }
        EnemyAnim.SetTrigger(parameterLaunchMeleeHash);
    }
Exemplo n.º 13
0
 public override void TakeDamage(float damageTaken)
 {
     enemyStats.currentHealth -= damageTaken;
     if (!IsDead)
     {
     }
     else
     {
         Die();
         EnemyAnim.SetTrigger(parameterDieHash);
     }
 }
Exemplo n.º 14
0
Arquivo: Enemy.cs Projeto: lwlwdnx/SCP
 private void Patrol()
 {
     enemy.isStopped = false;
     anim_state      = EnemyAnim.WALK;
     enemy.speed     = patrol_speed;
     if ((transform.position - route[patrol_pattern][now_index]).magnitude < 6f)
     {
         now_index         = (now_index + 1) % route[patrol_pattern].Length;
         enemy.destination = route[patrol_pattern][now_index];
     }
     enemy.destination = route[patrol_pattern][now_index];
 }
Exemplo n.º 15
0
 public void HandleAnimation(int parameterHash)
 {
     if (animationDictionary != null && animationDictionary.ContainsKey(parameterHash))
     {
         if (!EnemyAnim.GetCurrentAnimatorStateInfo(0).IsName(animationDictionary[parameterHash]))
         {
             EnemyAnim.SetTrigger(parameterHash);
         }
     }
     else
     {
         Debug.LogError("An Animation with hash (" + parameterHash + ") has been called while it doesn't exist in \"" + this.name + "\" => \"animationDictionnary\" [State :" + currentAIState.name + "]");
     }
 }
Exemplo n.º 16
0
 public override void LookAtTarget()
 {
     if (target != null)
     {
         Transform targetTransform = target.GetComponent <Transform>();
         float     targetDirection = targetTransform.position.x - EnemyTransform.position.x;
         if (targetDirection < 0 && roboRamMovementInfo.FacingDirection == 1 || targetDirection > 0 && roboRamMovementInfo.FacingDirection == -1)
         {
             roboRamMovementInfo.FacingDirection *= -1;
         }
         EnemyTransform.localScale = new Vector3(Mathf.Abs(EnemyTransform.localScale.x) * roboRamMovementInfo.FacingDirection, EnemyTransform.localScale.y, EnemyTransform.localScale.z);
         EnemyAnim.SetTrigger(parameterTurnHash);
     }
 }
Exemplo n.º 17
0
 public override void TakeDamage(float damageTaken)
 {
     roboRamStats.currentHealth -= damageTaken;
     enemyStats.currentHealth    = roboRamStats.currentHealth;
     if (!IsDead)
     {
     }
     else
     {
         PlaySoundOnceOnManager(AudioParams.SoundPoolGroups.ROBORAM, AudioParams.SoundPools.DUYING);
         Die();
         EnemyAnim.SetTrigger(parameterDieHash);
     }
 }
Exemplo n.º 18
0
Arquivo: Enemy.cs Projeto: lwlwdnx/SCP
 private void Stake()
 {
     enemy.isStopped   = false;
     anim_state        = EnemyAnim.CRAWL;
     enemy.speed       = stake_speed;
     enemy.destination = cam.transform.position;
     if (!isStake)
     {
         stake_time -= Time.deltaTime;
         if (stake_time < 0.0f)
         {
             state = EnemyState.PATROL; Patrol();
         }
     }
 }
Exemplo n.º 19
0
    void Update()
    {
        if (!enemyInfo.isDisabled)
        {
            enemyMovementInfo.isFalling = EnemyRB.velocity.y < -1.5f && !enemyMovementInfo.isGrounded;
            EnemyAnim.SetBool(parameterisFallingHash, enemyMovementInfo.isFalling);
            LookAtTarget();
            if (currentState != null)
            {
                currentState.Execute();
            }

            //Debug.Log(enemyMovementInfo.FacingDirection == 1 ? "Right" : "Left");
            //Debug.Log("Can move left = " + enemyMovementInfo.canMoveLeft);
        }
    }
Exemplo n.º 20
0
Arquivo: Enemy.cs Projeto: lwlwdnx/SCP
 private void Chase()
 {
     enemy.isStopped = false;
     anim_state      = EnemyAnim.CRAWL;
     if ((transform.position - light_pos).magnitude > 5f)
     {
         enemy.speed       = chase_speed;
         enemy.destination = light_pos;
     }
     else
     {
         if (state != EnemyState.STAKE)
         {
             state = EnemyState.PATROL;
         }
     }
 }
Exemplo n.º 21
0
    public IEnumerator ShootAndWait()
    {
        int i = 1;

        for (i = 1; i <= bossStats.numberOfNormalShots; i++)
        {
            ShootProjectile();
            yield return(new WaitForSeconds(bossStats.rangedCD));
        }

        //not optimal shouldn't be here but i was stuck couldn't find a solution
        if (i > bossStats.numberOfNormalShots)
        {
            EnemyAnim.SetTrigger(parameterIdleHash);
            PickNextAttackState();
        }
    }
Exemplo n.º 22
0
 public override void TakeDamage(float damageTaken)
 {
     enemyStats.currentHealth -= damageTaken;
     if (!IsDead)
     {
         if (enemyStats.currentHealth < stateInfo.nextHealthMilestone)
         {
             PlaySound(AudioParams.SoundPoolGroups.ROBEAR, AudioParams.SoundPools.FATIGUE);
             if (coroutine != null)
             {
                 StopCoroutine(coroutine);
             }
             //Default values
             stateInfo.startedMeleeAttacking  = false;
             stateInfo.startedRangedAttacking = false;
             stateInfo.isInCycle         = false;
             enemyInfo.isRangedAttacking = false;
             enemyInfo.isMeleeAttacking  = false;
             stateInfo.isSummoning       = false;
             //EnemyAnim.SetTrigger(parameterEndSummongHash);
             if (stateInfo.currentMeleeShot != null)
             {
                 Destroy(stateInfo.currentMeleeShot);
                 stateInfo.currentMeleeShot = null;
             }
             ChangeState(new RoBearIdleState());
             stateInfo.nextHealthMilestone = stateInfo.nextHealthMilestone - ((stateInfo.milestonePercentage * enemyStats.baseHealth) / 100);
             bossStats.rageLevel          += 1;
             bossStats.Enrage(bossStats.rageLevel);
             EnemyAnim.SetTrigger(parameterHurtHash);
         }
     }
     else
     {
         stateInfo.isDying = true;
         PlaySoundOnceOnManager(AudioParams.SoundPoolGroups.ROBEAR, AudioParams.SoundPools.DUYING);
         Die();
         EnemyAnim.SetTrigger(parameterDieHash);
     }
 }
Exemplo n.º 23
0
 private void Awake()
 {
     enemyAnim = GetComponent <EnemyAnim>();
     rb2D      = GetComponent <Rigidbody2D>();
 }
Exemplo n.º 24
0
 void Awake()
 {
     enemyAnim = GameObject.Find("EnemyAnim").GetComponent <EnemyAnim>();
 }
Exemplo n.º 25
0
Arquivo: Enemy.cs Projeto: lwlwdnx/SCP
 private void Attack()
 {
     enemy.isStopped = true;
     anim_state      = EnemyAnim.SCREAM;
 }