Exemple #1
0
    public void rotationSystem(bool clockwise, int slot, GameManager.spawnDir dir)
    {
        transform.Rotate(Vector3.forward, 90 * (clockwise ? -1:1));
        Vector3 pos;

        switch (dir)
        {
        case GameManager.spawnDir.North:
            pos = new Vector3(slot * 0.85f - 2.15f, 12, 0);
            break;

        case GameManager.spawnDir.South:
            pos = new Vector3(2.15f - slot * .85f, -12, 0);
            break;

        case GameManager.spawnDir.East:
            pos = new Vector3(12, slot * 0.85f - 2.15f, 0);
            break;

        case GameManager.spawnDir.West:
            pos = new Vector3(-12, 2.15f - slot * 0.85f, 0);
            break;

        default:
            Debug.Log("Broken?");
            Debug.Break();
            return;
        }
        transform.position = pos;
    }
 public void rotateSpawn(bool clockwise, GameManager.spawnDir dir) //Rotating the map clockwise?
 {
     //Debug.Log(dir);
     //Debug.Break();
     for (int i = 0; i < highwayLanes; i++)
     {
         spawns[i].GetComponent <CarSpawn>().rotationSystem(clockwise, i, dir);
     }
 }
    // Update is called once per frame
    void Update()
    {
        if (police)
        {
            policeSpawn = true;
        }
        else
        {
            policeSpawn = false;
        }

        Direction = gameManager.moveDir;
    }
 // Start is called before the first frame update
 void Start()
 {
     gameManager = GameObject.Find("GameManager").GetComponent <GameManager>();
     spawns      = new GameObject[highwayLanes];
     for (int i = 0; i < highwayLanes; i++)
     {
         spawns[i] = Instantiate(spawner, new Vector3(10, i * 0.85f - 2.15f, 0), Quaternion.LookRotation(Vector3.left, Vector3.back));
         spawns[i].GetComponent <CarSpawn>().externalTimerSet((i + .5f), (i + 1.5f));
         spawns[i].GetComponent <CarSpawn>().manager = gameObject;
     }
     Direction   = gameManager.moveDir;
     gameRunning = true;
 }
Exemple #5
0
    // Update is called once per frame
    void Update()
    {
        if (!gm.gameOverTrigger)
        {
            movement.x = Input.GetAxisRaw("Horizontal");
            movement.y = Input.GetAxisRaw("Vertical");
            Dir        = gm.moveDir;
            switch (Dir)
            {
            case GameManager.spawnDir.East:
                setSpeed(true, false);
                forceRotation(-90);
                break;

            case GameManager.spawnDir.North:
                setSpeed(false, false);
                forceRotation(0);
                break;

            case GameManager.spawnDir.South:
                setSpeed(false, true);
                forceRotation(180);
                break;

            case GameManager.spawnDir.West:
                setSpeed(true, true);
                forceRotation(90);
                break;

            default:
                Debug.Log("Broke Car Movement...");
                Debug.Break();
                return;
            }
        }

        /*if (transform.position.x >= 1.50f)
         * {
         *  speedMultiplier = (transform.position.x - 1) / 2;
         *  gm.speed = gm.defaultSpeed + speedMultiplier;
         * }
         * else if (transform.position.x <= -1.50f)
         * {
         *  speedMultiplier = Mathf.Abs(transform.position.x - 1) / 8;
         *  gm.speed = gm.defaultSpeed - speedMultiplier;
         * }
         * else
         * {
         *  gm.speed = gm.defaultSpeed;
         * }*/
    }
Exemple #6
0
    public void SpawnTurnTile(GameManager.spawnDir spawnDir, bool leftTurn)
    {
        if (lastTile.Equals(null))
        {
            Debug.Log("Missing Tile!!");
            Debug.Break();
        }
        Vector3 spawnLoc;// = lastTile.transform.position;
        //Debug.Log("SpawnLoc"+spawnLoc);
        Vector3 spawnRot = Vector3.zero;

        switch (spawnDir)
        {
        case GameManager.spawnDir.North:
            spawnLoc = new Vector3(0, 3 * famiTileWidth - gameManager.speed * 0.015f);;
            spawnRot = Vector3.forward * 90f * (leftTurn?1:-1);
            break;

        case GameManager.spawnDir.South:
            spawnLoc = new Vector3(0, -3 * famiTileWidth + gameManager.speed * 0.015f);
            spawnRot = -Vector3.forward * 90f * (leftTurn ? 1 : -1);
            break;

        case GameManager.spawnDir.East:
            spawnLoc = new Vector2(3 * famiTileWidth - gameManager.speed * 0.015f, 0);
            break;

        case GameManager.spawnDir.West:
            spawnLoc = new Vector3(-3 * famiTileWidth + gameManager.speed * 0.015f, 0);
            spawnRot = Vector3.forward * 180f * (leftTurn ? 1 : -1);
            break;

        default:
            Debug.Log("Broken?");
            Debug.Break();
            return;
        }
        GameObject road;

        road = Instantiate(leftTurn ? roadPiece[1] : roadPiece[2]) as GameObject; //Left or right exit tile
        Quaternion a = road.transform.rotation;

        road.transform.SetParent(transform);
        road.transform.SetPositionAndRotation(lastTile.transform.position + spawnLoc, a * Quaternion.Euler(spawnRot));

        lastTile = road.transform.Find("NewLastTile").gameObject;
        Debug.Log("Assign tile: " + lastTile.transform.position);
    }
Exemple #7
0
    public void SpawnTile(GameManager.spawnDir spawnDir, int index = -1)
    {
        if (lastTile.Equals(null))
        {
            Debug.Log("Missing Tile!!");
            Debug.Break();
        }
        Debug.Log("Check Tile: " + lastTile.transform.position);
        Vector3 spawnLoc;
        Vector3 spawnRot = Vector3.zero;

        switch (spawnDir)
        {
        case GameManager.spawnDir.North:
            spawnLoc = new Vector3(0, famiTileWidth - gameManager.speed * 0.015f);
            spawnRot = Vector3.forward * 90f;
            break;

        case GameManager.spawnDir.South:
            spawnLoc = new Vector3(0, -famiTileWidth + gameManager.speed * 0.015f);
            spawnRot = Vector3.forward * 90f;
            break;

        case GameManager.spawnDir.East:
            spawnLoc = new Vector3(famiTileWidth - gameManager.speed * 0.015f, 0);
            break;

        case GameManager.spawnDir.West:
            spawnLoc = new Vector3(-famiTileWidth + gameManager.speed * 0.015f, 0);
            break;

        default:
            Debug.Log("Broken?");
            Debug.Break();
            return;
        }

        GameObject road;

        road = Instantiate(roadPiece[0]) as GameObject;
        road.transform.SetParent(transform);

        road.transform.SetPositionAndRotation(lastTile.transform.position + spawnLoc, Quaternion.Euler(spawnRot));
        //road.transform.position = lastTile.transform.position + new Vector3(famiTileWidth - gameManager.speed * 0.015f,0,0);
        gameManager.tileAmnt += 1;
        lastTile              = road;
    }
Exemple #8
0
    protected Vector3 movement(GameManager.spawnDir Direction)
    {
        speed = manager.speed;
        switch (Direction)
        {
        case GameManager.spawnDir.North:     // North
        {
            if (gameObject.transform.position.y < -18)
            {
                Destroy(gameObject);
            }
            return(Vector3.down * Time.deltaTime * speed);
        }

        case GameManager.spawnDir.East:     // East
        {
            if (gameObject.transform.position.x < -18)
            {
                Destroy(gameObject);
            }
            return(Vector3.left * Time.deltaTime * speed);
        }

        case GameManager.spawnDir.South:     // South
        {
            if (gameObject.transform.position.y > 18)
            {
                Destroy(gameObject);
            }
            return(Vector3.up * Time.deltaTime * speed);
        }

        case GameManager.spawnDir.West:     // West
        {
            if (gameObject.transform.position.x > 18)
            {
                Destroy(gameObject);
            }
            return(Vector3.right * Time.deltaTime * speed);
        }

        default:
            Debug.Log("???");
            return(Vector3.down * Time.deltaTime * speed * 50);
        }
    }
Exemple #9
0
 // Update is called once per frame
 void Update()
 {
     tempAddSpeed = manager.tempAddValue;
     Direction    = manager.moveDir;
     gameObject.transform.position += movement(Direction) + tempAddSpeed;
 }
Exemple #10
0
 // Start is called before the first frame update
 void Start()
 {
     manager   = GameObject.Find("GameManager").GetComponent <GameManager>();
     Direction = manager.moveDir;
     speed     = manager.speed;
 }
    // Update is called once per frame
    void Update()
    {
        tempAddSpeed = gameManager.tempAddValue;
        Dir          = gameManager.moveDir;
        pos          = gameObject.transform.position;
        if (isRampTile && gameManager.hasShift)
        {
            //Debug.Break();
            //Debug.Log("New dir: "+Dir);
        }

        if (isRampTile && !gameManager.hasShift && !gameManager.gameOverTrigger)
        {
            if (originalDir.Equals(GameManager.spawnDir.East) || originalDir.Equals(GameManager.spawnDir.West))
            {
                //Debug.Log("Yay");
                if (Mathf.Abs(pos.x) < moveSpeed * Time.deltaTime)
                {
                    //Debug.Break();
                    gameManager.rampCentered(new Vector3(pos.x, 0, 0));
                }
            }
            else if (Mathf.Abs(pos.y) < moveSpeed * Time.deltaTime)
            {
                gameManager.rampCentered(new Vector3(0, pos.y, 0));
            }
            //Debug.Log("Old dir: " + Dir);
        }

        Vector3 moveDir;

        switch (Dir)
        {
        case GameManager.spawnDir.East:
            moveDir = Vector2.left;
            if (transform.position.x < -18f && !isRampTile || transform.position.x < -90f)
            {
                //tileManager.SpawnTile(gameManager.Direction);
                if (!isRampTile)
                {
                    gameManager.tileAmnt -= 1;
                }
                Destroy(gameObject);
            }
            break;

        case GameManager.spawnDir.North:
            moveDir = Vector2.down;
            if (transform.position.y < -18f && !isRampTile || transform.position.y < -90f)
            {
                //tileManager.SpawnTile(gameManager.Direction);
                if (!isRampTile)
                {
                    gameManager.tileAmnt -= 1;
                }
                Destroy(gameObject);
            }
            break;

        case GameManager.spawnDir.South:
            moveDir = Vector2.up;
            if (transform.position.y > 18f && !isRampTile || transform.position.y > 90f)
            {
                //tileManager.SpawnTile(gameManager.Direction);
                if (!isRampTile)
                {
                    gameManager.tileAmnt -= 1;
                }
                Destroy(gameObject);
            }
            break;

        case GameManager.spawnDir.West:
            moveDir = Vector2.right;
            if (transform.position.x > 18f && !isRampTile || transform.position.x > 90f)
            {
                //tileManager.SpawnTile(gameManager.Direction);
                if (!isRampTile)
                {
                    gameManager.tileAmnt -= 1;
                }
                Destroy(gameObject);
            }
            break;

        case GameManager.spawnDir.Rotate:
            moveDir = Vector2.zero;
            //Code for rotation goes here...
            break;

        default:
            Debug.Log("Broke Road Movement...");
            Debug.Break();
            return;
        }
        moveSpeed           = gameManager.speed;
        transform.position += moveDir * moveSpeed * Time.deltaTime + tempAddSpeed;
        //transform.position = new Vector3(transform.position.x - moveSpeed * Time.deltaTime, transform.position.y, transform.position.z);

        //if(transform.position.x < -18f)
        //{
        //    tileManager.SpawnTile(gameManager.Direction);
        //    gameManager.tileAmnt -= 1;
        //    Destroy(gameObject);
        //}
    }