예제 #1
0
    void stopButtonActionHandler()
    {
        // If the game is not already paused
        if (!gamePaused)
        {
            gamePaused = true;

            // Pause enemy spawner script
            GameObject.Find("enemySpawner").GetComponent <enemySpawnerScript>().pauseEnemySpawning();

            // Loop through all enemies and disable them
            GameObject[] enemys = GameObject.FindGameObjectsWithTag("enemy");
            foreach (GameObject enemy in enemys)
            {
                if (enemy == null)
                {
                    continue;
                }

                enemyScript enemyInstance = enemy.GetComponent <enemyScript>();
                enemyInstance.pauseGame();
            }

            // Loop through all towers and disable them
            //TODO
        }
    }
예제 #2
0
    void playButtonActionHandler()
    {
        if (gamePaused)
        {
            gamePaused = false;

            // Resume enemy spawner script
            GameObject.Find("enemySpawner").GetComponent <enemySpawnerScript>().resumeEnemySpawning();

            // Unfreeze all enemies
            GameObject[] enemys = GameObject.FindGameObjectsWithTag("enemy");
            foreach (GameObject enemy in enemys)
            {
                if (enemy == null)
                {
                    continue;
                }

                enemyScript enemyInstance = enemy.GetComponent <enemyScript>();
                enemyInstance.resumeGame();
            }

            // Unfreeze all towers
            //TODO
        }
        else
        {
            // Start the next wave
            if (waveNumber < maxNumWaves)
            {
                waveNumber++;
                updateWaveNumber = true;
            }
        }
    }
예제 #3
0
    public void checkIsfall()
    {
        //bool isFall = false;
        GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");
        foreach (GameObject enemy in enemies)
        {
            enemy_Script = enemy.GetComponent <enemyScript>();
            if (hero_Script.gameObject.transform.position.x == enemy_Script.gameObject.transform.position.x &&
                hero_Script.gameObject.transform.position.z == enemy_Script.gameObject.transform.position.z)
            {
                if (enemy_Script.isFall)
                {
                    Vector3 temp = hero_Script.gameObject.transform.position;

                    /*temp.y = -0.10f;
                     * hero_Script.gameObject.transform.position = temp;*/
                    hero_Script.gameObject.transform.GetChild(4).GetComponent <Animator>().Play("fall");
                    print("Lose");
                    StartCoroutine(WaitForFall(0.6f));
                    // isFall = true;
                }
            }
        }
        //return isFall;
    }
예제 #4
0
 public void addEnemy(enemyScript other)
 {
     Debug.LogError("in" + other.gameObject);
     enemies.Add(other);
     enemies.Remove(other);
     enemies.Add(other);
 }
예제 #5
0
 void Start()
 {
     me             = GetComponent <Transform> ();
     magazynek      = 60;
     amunicja       = 5 * maxAmunicja;
     wrog           = FindObjectOfType <enemyScript> ();
     graczC         = FindObjectOfType <playerController> ();
     pistolAnimator = GetComponent <Animator> ();
 }
예제 #6
0
 void Start()
 {
     color          = "red";
     health         = 1;
     damage         = 1;
     speed          = 100;
     laserDirection = -1;
     instance       = this;
     facingLeft     = true;
 }
예제 #7
0
 private void OnCollisionEnter(Collision collision)
 {
     //Se colidir com o inimigo, chama a funcao dele para receber dano e destroy o tiro
     if (collision.gameObject.tag == "Enemy")
     {
         enemyScript enScript = collision.gameObject.GetComponent <enemyScript>();
         enScript.TakeDamage(damage);
         Destroy(gameObject);
     }
 }
예제 #8
0
    public void freezeEnvi()
    {
        if (!_isEndGame)
        {
            print("numFreeze" + _numFreeze);
            if (ChooseFeature[4] == true && fixNumFreeze == _numFreeze)
            {
                print("Can't Freeze Again!!");
                _isFixPause = true;
            }
            else
            {
                //reset enemies're isfreeze
                _isfreeze = true;
                GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");
                foreach (GameObject enemy in enemies)
                {
                    Behaviour Halo = (Behaviour)enemy.GetComponent("Halo");
                    Halo.enabled          = false;
                    enemy_Script          = enemy.GetComponent <enemyScript>();
                    enemy_Script.isFreeze = false;

                    //enemy_Script.freezeGameObject.gameObject.SetActive(false);
                }
                _numFreeze++;
                if (ChooseFeature[4])
                {
                    if (fixNumFreeze - _numFreeze > 0)
                    {
                        _fixFreezetext.text = "" + (fixNumFreeze - _numFreeze);
                    }
                    else
                    {
                        _fixFreezetext.text = "";
                        fixCirclePause.gameObject.SetActive(false);
                        freezeButton.interactable = false;
                    }
                }
                // reset halo when choose to freeze enemy

                /*if (_isClickedFreeze)
                 * {
                 *  print("eiei");
                 *  foreach (GameObject enemy in enemies)
                 *  {
                 *      Behaviour Halo = (Behaviour)enemy.GetComponent("Halo");
                 *      Halo.enabled = false;
                 *  }
                 *  _isClickedFreeze = false;
                 * }*/
            }
        }

        _textAP.text = "" + actionPoint;
    }
예제 #9
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        enemyScript enemy = collision.GetComponent <enemyScript>();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
        }
        Instantiate(hiteffect, transform.position, transform.rotation);
        Destroy(gameObject);
    }
예제 #10
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        enemyScript hit = otherCollider.gameObject.GetComponent <enemyScript>();

        if (hit != null)
        {
            Destroy(enemyGen);
            Destroy(hit.gameObject);
            Destroy(gameObject);
            menuContainer.SetActive(true);
        }
    }
예제 #11
0
    void Start()
    {
        waitTime = startWaitTime;
        x        = Random.Range(minX, maxX);
        z        = Random.Range(minZ, maxZ);
        if (moveSpot != null)
        {
            moveSpot.transform.position = new Vector3(Mathf.Clamp(x, minX, maxX), 0, Mathf.Clamp(z, minZ, maxZ));
        }

        stats = player.GetComponent <PlayerStats>();
        enemy = GetComponent <enemyScript>();
    }
    // public void destroyBullet()
    // {
    //     Destroy(gameObject);
    // }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        enemyScript enemy  = collision.collider.GetComponent <enemyScript>();
        playerMove  player = collision.collider.GetComponent <playerMove>();

        if (player == null)
        {
            Destroy(gameObject);
        }
        if (enemy != null)
        {
            enemy.Hit();
        }
    }
예제 #13
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        enemyScript hit = otherCollider.gameObject.GetComponent <enemyScript>();

        if (hit != null)
        {
            Destroy(hit.gameObject);
            Destroy(gameObject);
            PlayerPrefs.SetInt("score", PlayerPrefs.GetInt("score", 0) + 1);
            if (PlayerPrefs.GetInt("score", 0) > PlayerPrefs.GetInt("hscore", 0))
            {
                PlayerPrefs.SetInt("hscore", PlayerPrefs.GetInt("score", 0));
            }
        }
    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        playerMove player = collision.GetComponent <playerMove>();

        if (player != null)
        {
            FindObjectOfType <playerMove>().SendMessage("recolocar");
        }

        enemyScript enemy = collision.GetComponent <enemyScript>();

        if (enemy != null)
        {
            Destroy(enemy);
        }
    }
예제 #15
0
    void fire()
    {
        RaycastHit bang;

        if (Physics.Raycast(kamera.transform.position, kamera.transform.forward, out bang, range))
        {
            Debug.Log("Murda " + bang.transform.name);
            enemyScript target = bang.transform.GetComponent <enemyScript>();

            if (target != null)
            {
                target.takeDamage(damage);
            }
        }
        GetComponent <AudioSource>().clip = gunshot;
        GetComponent <AudioSource>().Play();
    }
예제 #16
0
    public void init(Vector3 startPosition, GameObject target, float damage, bool flipImage)
    {
        //Debug.Log(string.Format("Co-ords of arrow target is [X: {0} Y: {0}]", target.transform.position.x, target.transform.position.y));
        // Start pos
        transform.position = startPosition;
        // Target pos
        targetPos = target.transform.position;

        targetObj        = target;
        projectileDamage = damage;

        // Get access to enemy functions
        enemyInstance = target.GetComponent <enemyScript>();

        if (flipImage)
        {
            gameObject.GetComponent <SpriteRenderer>().flipX = flipImage;
        }

        isShooting = true;
    }
예제 #17
0
 // Use this for initialization
 void Start()
 {
     Enemy_Script = Enemy_GameObject.GetComponent <enemyScript>();
 }
예제 #18
0
 // Use this for initialization
 void Start()
 {
     eScript = gameObject.GetComponentInParent <enemyScript>();
 }
예제 #19
0
    public void reverseTurn(int reverseTurn, Button clickedButton)
    {
        if (!_isEndGame)
        {
            if (ChooseFeature[2] == true && fixActionPointTurn == _numReverseTurn)
            {
                print("Can't Reverse Again!!");
            }
            else
            {
                //_isReverse = true;
                button_Script.createButton(1, clickedButton); // 1 = new line , get btn that clicked
                _reverseTurn = reverseTurn;
                //print("reverseTurn: " + _reverseTurn);
                GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");
                foreach (GameObject enemy in enemies)
                {
                    enemy_Script = enemy.GetComponent <enemyScript>();
                    if (enemy_Script.isFreeze)
                    {
                        //enemy_Script._isReversingAndFreezing = true;
                        //enemy_Script._enemyTurn = enemy_Script.savedEnemyTurn[enemy_Script._enemyTurn];
                        //print("enemyTurn in freeze: " + enemy_Script._enemyTurn);
                        enemy_Script.savedEnemyTurn.Add(enemy_Script._enemyTurn); // use old position
                    }
                    else
                    {
                        enemy_Script._isReversing = true;
                        //hero_Script._isEffect = true;
                        //print("xxx");
                        enemy_Script._enemyTurn = enemy_Script.savedEnemyTurn[_reverseTurn]; // Location = turn that reverse
                        if (_isReverseFinish)
                        {
                            //enemy change pos.y
                            enemy_Script._isChangePosY = true;
                        }
                        //print("savedEnemyTurn: " + enemy_Script._enemyTurn);
                        enemy_Script.savedEnemyTurn.Add(enemy_Script._enemyTurn);
                        //_isReverse = false;
                        //enemy_Script._enemyTurn++;
                    }

                    /*if (ChooseFeature[3] && !enemy_Script.onTriggle)
                     * {
                     *  enemy_Script.onTriggle = false;
                     * }*/
                }
                hero_Script._heroTurn++;
                _numReverseTurn++;
                if (ChooseFeature[2])
                {
                    if (fixActionPointTurn - _numReverseTurn > 0)
                    {
                        _fixReversetext.text = "" + (fixActionPointTurn - _numReverseTurn);
                    }
                    else
                    {
                        _fixReversetext.text = "";
                        fixCircleReverse.gameObject.SetActive(false);
                        reverseButton.interactable = false;
                    }
                }
                actionPoint--;
                _textAP.text = "" + actionPoint;
                //print("heroturn: " + hero_Script._heroTurn + " Enemy turn: " + enemy_Script._enemyTurn);
            }
        }
    }
예제 #20
0
    public static void RaycastShoot(float legHP, float bodyHP, float headHP, Camera mainCamera, GameObject shaves, GameObject blood)
    {
        RaycastHit hit;

        if (Physics.Raycast(mainCamera.transform.position, mainCamera.transform.forward, out hit))
        {
            if (hit.transform.gameObject.tag == "sciana")
            {
                Instantiate(shaves, hit.point, Quaternion.identity);
            }


            GameObject          hitObj  = hit.transform.parent.parent.gameObject;
            Animator            hitAnim = hitObj.GetComponent <Animator> ();
            enemyScript         enemy   = hitObj.GetComponent <enemyScript> ();
            CharacterController zombieC = hitObj.GetComponent <CharacterController> ();
            if (hit.rigidbody != null)
            {
            }
            if (hit.transform.gameObject.tag == "HeadHitBox")
            {
                Instantiate(blood, hit.point, Quaternion.identity);
                if (enemy.hp > headHP)
                {
                    enemy.DamageTaken(headHP);
                }
                else if (enemy.hp <= headHP)
                {
                    if (!enemy.deadAnim)
                    {
                        hitAnim.SetTrigger("dead");
                        enemy.deadAnim = true;
                    }
                    zombieC.enabled = false;
                    Destroy(hit.transform.parent.gameObject);
                    enemy.DamageTaken(headHP);
                    enemy.speed = 0;
                    enemy.pacz  = false;
                    Destroy(hit.transform.parent.parent.gameObject, 20f);

                    hitAnim.SetBool("attack2", false);
                }
            }
            if (hit.transform.gameObject.tag == "BodyHitBox")
            {
                Instantiate(blood, hit.point, Quaternion.identity);
                if (enemy.hp > bodyHP)
                {
                    enemy.DamageTaken(bodyHP);
                }
                else if (enemy.hp <= bodyHP)
                {
                    if (!enemy.deadAnim)
                    {
                        hitAnim.SetTrigger("dead");
                        enemy.deadAnim = true;
                    }
                    zombieC.enabled = false;
                    Destroy(hit.transform.parent.gameObject);
                    enemy.DamageTaken(bodyHP);
                    enemy.speed = 0;
                    enemy.pacz  = false;
                    Destroy(hit.transform.parent.parent.gameObject, 20f);

                    hitAnim.SetBool("attack2", false);
                }
            }
            if (hit.transform.gameObject.tag == "legsBox")
            {
                Instantiate(blood, hit.point, Quaternion.identity);
                if (enemy.hp > legHP)
                {
                    enemy.DamageTaken(legHP);
                }
                else if (enemy.hp <= legHP)
                {
                    if (!enemy.deadAnim)
                    {
                        hitAnim.SetTrigger("dead");
                        enemy.deadAnim = true;
                    }
                    zombieC.enabled = false;
                    Destroy(hit.transform.parent.gameObject);
                    enemy.DamageTaken(legHP);
                    enemy.speed = 0;
                    Destroy(hit.transform.parent.parent.gameObject, 20f);

                    hitAnim.SetBool("attack2", false);
                }
            }
        }
    }
예제 #21
0
    // Update is called once per frame
    void Update()
    {
        _textAP.text = "" + actionPoint;
        if (!_isEndGame)
        {
            if (!_isfreeze)
            {
                if (hero_Script.isMove)
                {
                    //hero move
                    if (hero_Script.direction[0])
                    {
                        _tileCheckerPosition = new Vector3(1, 0, 0);
                        heroJump(_tileCheckerPosition);
                        hero_Script.HeroOnMove(_tileCheckerPosition);
                        hero_Script.direction[0] = false;
                        button_Script.createButton(0, null);
                    }

                    if (hero_Script.direction[1])
                    {
                        _tileCheckerPosition = new Vector3(-1, 0, 0);
                        heroJump(_tileCheckerPosition);
                        hero_Script.HeroOnMove(_tileCheckerPosition);
                        //actionPoint--;
                        hero_Script.direction[1] = false;
                        button_Script.createButton(0, null);
                    }

                    if (hero_Script.direction[2])
                    {
                        _tileCheckerPosition = new Vector3(0, 0, 1);
                        heroJump(_tileCheckerPosition);
                        hero_Script.HeroOnMove(_tileCheckerPosition);
                        //actionPoint--;
                        hero_Script.direction[2] = false;
                        button_Script.createButton(0, null);
                    }

                    if (hero_Script.direction[3])
                    {
                        _tileCheckerPosition = new Vector3(0, 0, -1);
                        heroJump(_tileCheckerPosition);
                        hero_Script.HeroOnMove(_tileCheckerPosition);
                        //actionPoint--;
                        hero_Script.direction[3] = false;
                        button_Script.createButton(0, null);
                    }

                    if (hero_Script.heroFinishedMove)
                    {
                        //Mon Move
                        GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");
                        foreach (GameObject enemy in enemies)
                        {
                            enemy_Script = enemy.GetComponent <enemyScript>();
                            //print("enemy transform: " + enemy_Script.transform.position);
                            enemy_Script.EnemyOnMove();
                            //enemy_Script.onTriggle = false;
                        }
                        //Tile Move
                        hero_Script.heroFinishedMove = false;
                    }
                }
            }
            else
            {
                // freezing
            }
            if (ChooseFeature[3])
            {
                bool         win     = false;
                GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");
                foreach (GameObject enemy in enemies)
                {
                    enemy_Script = enemy.GetComponent <enemyScript>();
                    if (enemy_Script.onTriggle)
                    {
                        win = true;
                    }
                    else
                    {
                        win = false;
                        break;
                    }
                }
                onTrigger = win;
            }
            if (ChooseFeature[2] == true && fixActionPointTurn == _numReverseTurn)
            {
                _isFixReverse = true;
            }
        }
    }