Exemple #1
0
 protected virtual void Start()
 {
     if (rat == null)
     {
         rat = SceneManagement.Instance.Rat;
     }
 }
Exemple #2
0
    private void MeeleBehaviour()
    {
        foreach (Gate gate in rat.fieldOfView.GetEnemyGateInRange())
        {
            if (gate.team != rat.team)
            {
                ChangeActionTo(new ApproachGate(rat, gate));
            }
        }
        foreach (Rat enemy in rat.fieldOfView.GetEnemyRatsInRange())
        {
            RatController ratControllerOfEnemy = enemy.GetComponent <RatController>();

            if (enemy.IsRanged() || ratControllerOfEnemy.IsFightingGate())
            {
                ratController.SetActionTo(new ApproachRanged(rat, enemy));
            }
            else
            {
                if (!ratControllerOfEnemy.IsFighting())
                {
                    ChangeActionTo(new ApproachMeele(rat, enemy));
                    ratControllerOfEnemy.currentAction.ChangeActionTo(new ApproachMeele(enemy, rat));
                }
            }
        }
    }
    public void OnCollisionEnter(Collision collision)
    {
        if (readyToExplode)
        {
            GetComponent <AudioSource>().Play();
            readyToExplode = false;
            // Debug.Log("VIAL HIT SOMETHING OH GOD KILL EVERYTHING");
            particleSys.Play();
            // then circle cast to see if we can hit the enemy nearby
            RaycastHit hit;
            // Physics.SphereCastAll(transform.position, explosionRadius, transform.forward, out hit, 0, sphereCastLayerMask, QueryTriggerInteraction.Collide)
            RaycastHit[] hits = Physics.SphereCastAll(transform.position, explosionRadius, transform.forward, 0, sphereCastLayerMask);

            foreach (RaycastHit h in hits)
            {
                RatController rat = h.transform.GetComponent <RatController>();
                // Debug.Log("VIAL HIT ENEMY");
                if (rat)
                {
                    // Debug.Log("STUNN RAT");
                    // then stun the rat
                    rat.StunRat();
                }
            }
        }
    }
Exemple #4
0
 protected virtual void Start()
 {
     if (rat == null)
     {
         rat = SceneManagement.Instance.Rat;
     }
     initDirectionToRat = (rat.transform.position - transform.position).normalized;
 }
Exemple #5
0
 public void SetKillingRat(RatController rat, Transform head)
 {
     // when the player dies this is the rat they should look at
     if (isAlive)
     {
         isAlive                   = false;
         ratHead                   = head;
         ratHeadRotation           = Quaternion.LookRotation(head.position - cam.transform.position);
         deadStartRotation         = cam.transform.rotation;
         deadRotationTimer         = 0;
         deadPositionStartPosition = transform.position;
     }
 }
Exemple #6
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        RatController       enemy     = collision.gameObject.GetComponent <RatController>();
        BlackyController    blacky    = collision.gameObject.GetComponent <BlackyController>();
        EnemyWolfController enemyWolf = collision.gameObject.GetComponent <EnemyWolfController>();

        if (enemy != null)
        {
            Destroy(gameObject);
        }
        if (blacky != null)
        {
            Destroy(gameObject);
        }
        if (enemyWolf != null)
        {
            Destroy(gameObject);
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();

        Ballista         = GetComponent <Ballista>();
        Bat              = GetComponent <BatController>();
        BoundTrap        = GetComponent <BoundTrapController>();
        Bush             = GetComponent <BushController>();
        Button           = GetComponent <ButtonController>();
        Crocodile        = GetComponent <CrocodileController>();
        Drop             = GetComponent <DropController>();
        FallingPlataform = GetComponent <FallingPlataform>();
        //Pajaro = GameObject.FindGameObjectsWithTag("").GetComponent<ButtonController>();
        Mole       = GetComponent <MoloController>();
        Mushroom   = GetComponent <MushroomController>();
        Rat        = GetComponent <RatController>();
        Rock       = GetComponent <RockController>();
        RotateTrap = GetComponent <RotateTrapController>();
        Spawner    = GetComponent <Spawner>();
        Spikes     = GetComponent <SpikesController>();
        Thorms     = GetComponent <ThormsController>();
        Trap       = GetComponent <TrapController>();

        spriteRenderer.enabled = false;
        //Ballista.enabled = false;
        Bat.enabled              = false;
        BoundTrap.enabled        = false;
        Bush.enabled             = false;
        Button.enabled           = false;
        Crocodile.enabled        = false;
        Drop.enabled             = false;
        FallingPlataform.enabled = false;
        //Pajaro.enabled = false;
        Mole.enabled       = false;
        Mushroom.enabled   = false;
        Rat.enabled        = false;
        Rock.enabled       = false;
        RotateTrap.enabled = false;
        Spawner.enabled    = false;
        Spikes.enabled     = false;
        Thorms.enabled     = false;
        Trap.enabled       = false;
    }
Exemple #8
0
    void Awake()
    {
        _animator                     = GetComponent <Animator>();
        _controller                   = GetComponent <RatController>();
        _player                       = GetComponent <RatPlayer>();
        _yeeter                       = GetComponent <Yeeter>();
        _ratPlayer                    = GetComponent <RatPlayer>();
        _ratCalculator                = GetComponent <RatCalculator>();
        _grabbable                    = GetComponent <Grabbable>();
        _grabbable.OnGrabCallback    += this.OnGrab;
        _grabbable.OnReleaseCallback += this.OnRelease;
        _myRigidbody                  = GetComponent <Rigidbody2D>();

        // listen to some events for illustration purposes
        _controller.onControllerCollidedEvent += onControllerCollider;
        _controller.onTriggerEnterEvent       += OnTriggerEnterEvent;
        _controller.onTriggerExitEvent        += OnTriggerExitEvent;

        crownSprite.enabled = false;
    }
Exemple #9
0
        public Vector3 GetJumpPoint(RatController climber)
        {
            Vector3 output = jumpPoint.position;
            Vector3 normal = -climber.LocalForward.normalized;
            Plane   plane  = new Plane(normal, jumpPoint.position);
            Ray     ray    = new Ray(climber.transform.position, -normal);
            float   distance;

            if (plane.Raycast(ray, out distance))
            {
                output = ray.GetPoint(distance);
                RaycastHit hitInfo;
                Ray        downRay = new Ray(output + Vector3.up * 10, Vector3.down);
                if (Physics.Raycast(downRay, out hitInfo))
                {
                    output = hitInfo.point + Vector3.up * climber.Bounds.extents.y;
                }
            }
            return(output);
        }
Exemple #10
0
 public Action(Rat rat)
 {
     this.rat             = rat;
     ratController        = rat.GetComponent <RatController>();
     animationsController = rat.GetComponent <AnimationsController>();
 }
Exemple #11
0
 // Start is called before the first frame update
 void Start()
 {
     _ratController = ratAnimator.gameObject.GetComponent <RatController>();
 }
 void Awake()
 {
     rc = GetComponentInParent <RatController>();
     aS = GetComponent <AudioSource>();
 }