Exemplo n.º 1
0
    //Shoot bullet
    void Shoot(Vector3 aimDir)
    {
        Vector3 pos = transform.position;

        //pos += transform.right * 0.5f;
        pos += aimDir * 0.5f;
        GameObject   bullet = Instantiate(bulletPrefab, pos, Quaternion.identity);
        PlayerBullet proj   = bullet.GetComponent <PlayerBullet>();

        proj.direction = (aimDir).normalized;

        audioSource.pitch = Random.Range(0.7f, 1.1f);
        audioSource.PlayOneShot(gunShot);

        RaycastHit2D hit = Physics2D.Raycast(transform.position, aimDir, range, 1 << LayerMask.NameToLayer("Targets"));

        if (hit.collider != null)
        {
            GameObject other       = hit.collider.gameObject;
            enemyAI    otherScript = other.GetComponent <enemyAI>();
            if (otherScript != null)
            {
                otherScript.onTakeDamage(damage, knockback);
            }
        }
    }
Exemplo n.º 2
0
    // public int damage = 45;


    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        //tokens toke = new tokens();

        if (enemy != null)
        {
            if (this.tag == "beam")
            {
                enemy.takeDamage(45);
                FindObjectOfType <AudioManager>().Play("Beam");
                Destroy(gameObject);
            }
            else if (this.tag == "superbeam")
            {
                enemy.takeDamage(115);
                FindObjectOfType <AudioManager>().Play("Beam");
                Destroy(gameObject);
            }
        }
        else if (att.gameObject.tag == "Top Wall" || att.gameObject.tag == "Bottom Wall" || att.gameObject.tag == "Left Wall" || att.gameObject.tag == "Right Wall")
        {
            Destroy(gameObject);
        }
    }
Exemplo n.º 3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        enemyAI enemy = collision.GetComponent <enemyAI>();

        if (collision.gameObject.name == "HitBox")
        {
            Destroy(gameObject);
            FindObjectOfType <AudioManager>().Stop("chargebeam");
            player.GetComponent <BasicMovment>().DecreaseHealth(15);
        }
        else if (collision.gameObject.tag == "EnemyT" && reflected == true)
        {
            Destroy(gameObject);
            FindObjectOfType <AudioManager>().Stop("chargebeam");
            enemy.takeDamage(40);
        }

        if (collision.gameObject.tag == "slash")
        {
            Vector3 attPos = player.transform.position - transform.position;
            gameObject.GetComponent <Rigidbody2D>().velocity = Vector3.zero;
            //should go back to turret enemy
            gameObject.GetComponent <Rigidbody2D>().velocity = -attPos.normalized * 8;
            reflected = true;
        }
    }
Exemplo n.º 4
0
    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();


        if (enemy != null)
        {
            if (this.tag == "beam")
            {
                enemy.takeDamage(40);

                Destroy(gameObject);
            }
            else if (this.tag == "superbeam")
            {
                enemy.takeDamage(80);

                Destroy(gameObject);
            }
        }
        if (att.gameObject.tag == "Top Wall" || att.gameObject.tag == "Bottom Wall" || att.gameObject.tag == "Left Wall" || att.gameObject.tag == "Right Wall")
        {
            Destroy(gameObject);
        }
    }
Exemplo n.º 5
0
    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        if (enemy != null)
        {
            enemy.takeDamage(damage);
            if (cm.playerDeck.Count != 0)
            {
                int i = Random.Range(0, 2);
                if (i > 0)
                {
                    cm.DrawCard(cm.playerDeck);
                    cm.deckPercent = cm.playerDeck.Count / cm.maxCards;
                    Debug.Log(cm.deckPercent);
                    cm.deckCalculate(cm.deckPercent);
                }
            }
            else if (cm.playerDeck.Count == 0 && cm.discardPile.Count > 0)
            {
                for (int i = 0; i < cm.discardPile.Count; i++)
                {
                    cm.playerDeck.Add(cm.discardPile[i]);
                }

                cm.discardPile.Clear();
                cm.maxCards    = cm.playerDeck.Count;
                cm.deckPercent = cm.playerDeck.Count / cm.maxCards;
                Debug.Log(cm.deckPercent);
                cm.deckCalculate(cm.deckPercent);
                cm.DrawCard(cm.playerDeck);
            }
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     source         = GetComponent <AudioSource>();
     enemy          = FindObjectOfType <enemyAI>();
     weapons        = FindObjectOfType <weapons>();
     canvas.enabled = false;
 }
Exemplo n.º 7
0
    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        //toke.incToken();

        if (enemy != null)
        {
            if (this.tag == "slash")
            {
                if (enemy.turretNotCharge == true)
                {
                    enemy.takeDamage(0);
                }
                else
                {
                    enemy.takeDamage(65);
                }
            }
            else if (this.tag == "spinslash")
            {
                //FindObjectOfType<AudioManager>().Play("Slash");
            }
        }
    }
Exemplo n.º 8
0
    //public int damage = 65;
    //private tokens toke = new tokens();


    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        //toke.incToken();

        if (enemy != null)
        {
            if (this.tag == "slash")
            {
                //if (enemy.name == "Rock") //REDUCED DAMAGE
                //{
                //    enemy.takeDamage(5);
                //    FindObjectOfType<AudioManager>().Play("Slash");
                //}
                //else
                //{
                enemy.takeDamage(65);
                FindObjectOfType <AudioManager>().Play("Slash");
                //}
            }
            else if (this.tag == "spinslash")
            {
                //enemy.takeDamage(120);
                FindObjectOfType <AudioManager>().Play("Slash");
            }
        }
    }
Exemplo n.º 9
0
 //safe
 public virtual void Awake()
 {
     statsref = GetComponent <enemystats>();
     airef    = GetComponent <enemyAI>();
     childcol = transform.GetChild(0).gameObject;
     childcol.SetActive(false);
 }
Exemplo n.º 10
0
 // Start is called before the first frame update
 void Start()
 {
     buildingMaxNum = checkBuilding();
     missionStr[0]  = "";
     missionUI.text = missionStr[0];
     enemy          = GameObject.FindGameObjectWithTag("enemy");
     EAI            = enemy.GetComponent <enemyAI>();
 }
Exemplo n.º 11
0
    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        if (enemy != null)
        {
            enemy.takeDamage(damage);
        }
    }
Exemplo n.º 12
0
    void OnTriggerEnter2D(Collider2D other)
    {
        enemyAI enem = other.GetComponent <enemyAI>();

        if (other.tag != "player")
        {
            enem.DirectionPolaris();
        }
    }
Exemplo n.º 13
0
    //Collision with hurtbox
    void OnTriggerEnter2D(Collider2D col)
    {
        //If enemy
        if (col.gameObject.layer == 8)
        {
            if (!invincible)
            {
                Vector2 kb = new Vector2(0, 0);
                if (col.gameObject.tag == "Enemy")
                {
                    enemyAI otherScript = col.gameObject.GetComponent <enemyAI>();
                    health -= otherScript.attackPower;
                    kb      = (col.gameObject.transform.position - transform.position).normalized * 10;
                }
                else if (col.gameObject.tag == "EnemyProjectile")
                {
                    ProjectileData otherScript = col.gameObject.GetComponent <ProjectileData>();
                    health -= otherScript.damage;
                    kb      = (col.gameObject.transform.position - transform.position).normalized * 1;
                }
                rb.AddForce(-kb, ForceMode2D.Impulse);
                invincible = true;
                invincibilityTimeRemaining = invincibilityTime;

                float     healthPerc = health / maxHealth;
                HealthBar hbscript   = healthBar.GetComponent <HealthBar>();
                hbscript.SetSize(healthPerc);
                HUDController hud = canvas.GetComponent <HUDController>();
                hud.setHealthText(health, maxHealth);

                if (health != 0 && enableDamageSFX)
                {
                    audioSource.pitch = Random.Range(0.85f, 1.15f);
                    audioSource.PlayOneShot(takeDamageSFX);
                }
                enableDamageSFX = true;
            }
        }

        //If item
        else if (col.gameObject.tag == "Item")
        {
            GameObject item = col.gameObject;
            Destroy(col);
            items.Add(item.name);
            ItemHandler ih = item.GetComponent <ItemHandler>();
            ih.onPickup(gameObject, this);
            HUDController hud = canvas.GetComponent <HUDController>();
            hud.updateTexts((float)range / baseRange, (float)damage / baseDamage, (float)knockback / baseKnockback, (float)regenRate / baseRegenRate, (float)killRegen, (float)damTimerDec, (float)moveSpeed / baseMoveSpeed);
            if (item)
            {
                Destroy(item);
            }
        }
    }
Exemplo n.º 14
0
	//-------------------------------------------------------------------------
	void Start () 
	{
		// Get the parent script so we can call its functions from here
		gAiCode = transform.parent.gameObject.GetComponent<enemyAI>();

		if (gAiCode != null) 
		{
			// Set our detection sphere's range
			GetComponent<SphereCollider> ().radius = gAiCode.maxDetectRange;
		}
	}
Exemplo n.º 15
0
    // Start is called before the first frame update
    void Start()
    {
        shoot = GetComponent <enemyShoot>(); //Asignamos a la variable los scripts antes mencionados
        move  = GetComponent <enemyAI>();

        CurrentHealthPoints = EnemyMaxHealthPoints; //Pone la vida al máximo al empezar
        isFullHealth        = true;

        if (enemyHealthUI)
        {
            enemyHealthUI.SetEnemyMaxHealthUI(EnemyMaxHealthPoints);
        }
    }
Exemplo n.º 16
0
    private void OnTriggerEnter2D(Collider2D att)
    {
        enemyAI enemy = att.GetComponent <enemyAI>();

        //tokens toke = new tokens();

        if (enemy != null)
        {
            enemy.takeDamage(damage);
            Destroy(gameObject);
            //toke.incToken();
        }
        else if (att.gameObject.tag == "Top Wall" || att.gameObject.tag == "Bottom Wall" || att.gameObject.tag == "Left Wall" || att.gameObject.tag == "Right Wall")
        {
            Destroy(gameObject);
        }
    }
    //public MovePiece mp;

    //Some variables are public for debugging and being able to be viewed in the inspector
    // Start is called before the first frame update
    void Start()
    {
        lastPieceMoved = 2;
        en             = GetComponent <enemyAI>();
        moveDir        = "";
        InitalStateSetup();
        updateOld = true;
        yourturn  = true;

        for (int i = 0; i < 8; i++)
        {
            for (int j = 0; j < 8; j++)
            {
                colliders[i, j] = GameObject.Find(i.ToString() + j.ToString());
                colliders[i, j].SetActive(false);
            }
        }
    }
Exemplo n.º 18
0
    void OnCollisionEnter(Collision col)
    {
        ////
        //Debug.Log("HIT");

        //
        ContactPoint[] contacts = col.contacts;
        if (contacts[0].thisCollider.gameObject.layer == LayerMask.NameToLayer("Fist") &&
            contacts[0].otherCollider.gameObject.layer == LayerMask.NameToLayer("Enemy"))
        {
            //Debug.Log("HIT");
            enemyAI enemy = contacts[0].otherCollider.gameObject.GetComponent <enemyAI>();
            enemy.GetComponent <Rigidbody>().AddForce(playerCam.transform.forward * punchForce, ForceMode.Impulse);
        }

        if ((contacts[0].otherCollider.gameObject.layer == LayerMask.NameToLayer("Boat")))
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("Win");
        }
    }
Exemplo n.º 19
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         //resume
     }
     else if (other.tag == "CannonFoot")
     {
         cannonFoot cf = other.GetComponent <cannonFoot>();
         cf.decreaseHealth();
         Destroy(gameObject);
     }
     else if (other.tag == "Enemy")
     {
         // Debug.Log("enemy");
         enemyAI ea = other.GetComponent <enemyAI>();
         ea.dealDmg();
         Destroy(gameObject);
     }
 }
Exemplo n.º 20
0
    void Awake()
    {
        //referencing scripts
        player = GameObject.FindGameObjectWithTag("Player").transform;
        enemySight = GetComponent<EnemySight>();
        nav = GetComponent<NavMeshAgent>();
        anim = GetComponent<Animator>();
        hash = GameObject.FindGameObjectWithTag("gameController").GetComponent<HashIDs>();
        EnemyAI = GetComponent<enemyAI>();

<<<<<<< HEAD
        nav.updateRotation = false;                //make sure the rotation is controlled by mecanim
        animSetup = new AnimatorSetup(anim, hash); //creating an instance of the AnimatorSetu class and calling it´s constructor
        deadZone += Mathf.Deg2Rad;                 //convert the angle for the deadzone from degrees to radiants
=======
        nav.updateRotation = false; //make sure the rotation is controlled by mecanim
        animSetup = new AnimatorSetup(anim, hash); //creating an instance of the AnimatorSetu class and calling it´s constructor
        deadZone += Mathf.Deg2Rad;   //convert the angle for the deadzone from degrees to radiants
>>>>>>> dd5711ced731f99b586cb33f83b71c58174c8409
    }
Exemplo n.º 21
0
    void Shoot()
    {
        shootSource.PlayOneShot(shootFile, 1.2f);
        Ray ray = new Ray(Target.transform.position, Target.transform.forward);

        RaycastHit[] hitTargets = Physics.RaycastAll(ray, 15f);

        //bool IsHit = Physics.Raycast(ray, out rayCastHit, Mathf.Infinity);

        Debug.DrawLine(ray.origin, ray.direction, Color.red, 10);

        if (hitTargets.Length > 0)
        {
            for (int i = 0; i < hitTargets.Length; i++)
            {
                // GameObject enemy = rayCastHit.collider.gameObject;
                if (hitTargets[i].collider.gameObject.layer == LayerMask.NameToLayer("Enemy"))
                {
                    enemyAI enemy = hitTargets[i].collider.gameObject.GetComponent <enemyAI>();
                    enemy.EnemyHit(RifleDamage);
                }
            }
        }
    }
Exemplo n.º 22
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.CompareTag("enemy") || other.gameObject.CompareTag("Player"))
        {
            Rigidbody2D    enemy   = other.GetComponent <Rigidbody2D>();
            enemyAI        EnemyAI = other.GetComponent <enemyAI>();
            PlayerMovement player  = other.GetComponent <PlayerMovement>();
            if (enemy != null)
            {
                if (!CompareTag(other.tag))
                {
                    Vector2 difference = enemy.transform.position - transform.position;
                    difference = difference.normalized * thrust;
                    enemy.AddForce(difference, ForceMode2D.Impulse);
                }

                if (other.gameObject.CompareTag("enemy") && other.isTrigger && !gameObject.CompareTag("enemy"))
                {
                    EnemyAI.currentState = enemyState.stagger;
                    EnemyAI.enemyKnock(enemy, knockTime, damage);
                }
                else if (other.gameObject.CompareTag("Player") && other.isTrigger)
                {
                    if (player.currentState != PlayerState.stagger)
                    {
                        player.currentState = PlayerState.stagger;
                        player.playerKnock(knockTime, damage);
                    }
                }
            }
        }
        else if (other.gameObject.CompareTag("breakable") && gameObject.CompareTag("Player"))
        {
            other.GetComponent <breakable>().smashed();
        }
    }
Exemplo n.º 23
0
 private void Start()
 {
     enemy = GetComponentInChildren <enemyAI>();
 }
Exemplo n.º 24
0
    public void SpawnEnemy()
    {
        enemyAI ai = Instantiate(enemyPrefab, transform.position, transform.rotation).GetComponent <enemyAI>();

        SpawnedEnemies.Add(ai);
    }
Exemplo n.º 25
0
    // Update is called once per frame
    new void Update()
    {
        LayerMask layer1;

        layer1 = LayerMask.GetMask("Collision");

        RaycastHit2D hit = Physics2D.Raycast(transform.position, target.transform.position - transform.position, 90, layer1);

        Debug.DrawRay(transform.position, target.transform.position - transform.position, Color.green);

        if (hit)
        {
            enemyActionStates = enemyAI.idle;
        }

        if (offDelay > 0)
        {
            enemyActionStates = enemyAI.idle; offDelay = offDelay - Time.deltaTime;
        }


        base.Update();
        switch (manipulated)
        {
        case isControlled.AI:
            switch (enemyActionStates)
            {
            case enemyAI.idle:
                moveSpeed = 45f;

                if (walkTimer > 0)
                {
                    walkTimer = walkTimer - Time.deltaTime;
                }
                else
                {
                    h         = Random.Range(-1, 1);
                    v         = Random.Range(-1, 1);
                    walkTimer = Random.Range(0.3f, 2);
                }

                rbody.velocity = new Vector2(h * moveSpeed, v * moveSpeed);

                if (100 > Mathf.Abs(target.transform.position.x - transform.position.x))
                {
                    enemyActionStates = enemyAI.attack;
                }

                break;

            case enemyAI.attack:
                moveSpeed = 55f;

                v = target.transform.position.y > transform.position.y ? 1 : -1;
                h = target.transform.position.x > transform.position.x ? 1 : -1;
                rbody.velocity = new Vector2(h * moveSpeed, v * moveSpeed);

                if (100 < Mathf.Abs(target.transform.position.x - transform.position.x))
                {
                    enemyActionStates = enemyAI.idle;
                }

                break;
            }
            break;

        case isControlled.player:
            offDelay = 3f;
            break;
        }
    }
 // Use this for initialization
 void Start()
 {
     current_state = GetComponent<enemyAI>();
     animator = GetComponent<Animator>();
 }
Exemplo n.º 27
0
 public AlertState(enemyAI enemy)
 {
     myEnemy = enemy;
 }
Exemplo n.º 28
0
 private void Start()
 {
     audioo = FindObjectOfType <playaudio>();
     enemy  = FindObjectOfType <enemyAI>();
 }