// Start is called before the first frame update
    void Start()
    {
        win  = Resources.Load <Sprite>("grey_boxCheckmark");
        lose = Resources.Load <Sprite>("grey_boxCross");

        string nickname = PlayerPrefs.GetString("player");

        player = DatabaseDataAcces.getPlayerWithNickname(nickname);

        games = DatabaseDataAcces.getGamesPlayed(player.id);

        for (int i = games.Count - 1; i >= 0; i--)
        {
            GamePlayed g = games[i];

            GameObject item    = Instantiate(prefab);
            Image      image   = item.transform.Find("Image").GetComponent <Image>();
            Text       player2 = item.transform.Find("player2").GetComponent <Text>();

            if (g.winner == 1)
            {
                image.sprite = win;
            }
            else
            {
                image.sprite = lose;
            }

            player2.text = g.secondPlayer.nickname;



            item.transform.SetParent(content.transform, false);
        }
    }
Example #2
0
    public void OpenBox(int id)
    {
        DatabaseDataAcces.OpenBox(id);

        int randomItemId = Random.Range(1, 11);
        int randomStars  = Random.Range(1, 4);

        DatabaseDataAcces.InsertHasCarPart(player.id, randomItemId, randomStars);

        newItem.SetActive(true);
        newItem.transform.localScale = new Vector3(1, 1, 1);

        if (randomStars == 1)
        {
            stars.sprite = oneStar;
        }
        else if (randomStars == 2)
        {
            stars.sprite = twoStars;
        }
        else
        {
            stars.sprite = threeStars;
        }

        GameObject item = carRenderer.RenderItem(randomItemId);

        item.transform.SetParent(newItem.transform, false);
        item.transform.position   = new Vector3(0f, 0f, 0f);
        item.transform.localScale = new Vector3(100f, 100f);
        item.GetComponent <SpriteRenderer>().sortingOrder = 5;

        LoadBoxes();
    }
Example #3
0
    public void ShowWinner(int winner)
    {
        if (winner == 0)
        {
            DatabaseDataAcces.insertGamePlayed(player.id, opponent.id, 1, 0);

            int wonCount     = DatabaseDataAcces.getNumberofWonInRow(player.id);
            int cntNotOpened = DatabaseDataAcces.getNumberOfNotOpenedBoxes(player.id);

            if (wonCount % 3 == 0 && cntNotOpened < 4)
            {
                long now = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds;
                DatabaseDataAcces.insertBox(player.id, now);
            }

            winnerText.text = "You won!";
        }
        else
        {
            DatabaseDataAcces.insertGamePlayed(player.id, opponent.id, 2, 0);
            winnerText.text = "You lost!";
        }

        winnerText.gameObject.SetActive(true);
        goToGarage.gameObject.SetActive(true);
        winnerBackground.gameObject.SetActive(true);
    }
Example #4
0
    public void RemoveItem(GameObject item, int type)
    {
        Destroy(item);
        DatabaseDataAcces.removeItem(player.id, type);

        LoadItems();
        LoadCar();
    }
Example #5
0
    // Start is called before the first frame update
    void Start()
    {
        oneStar        = Resources.Load <Sprite>("one-star");
        twoStars       = Resources.Load <Sprite>("two-stars");
        threeStars     = Resources.Load <Sprite>("three-stars");
        bladeSprite    = Resources.Load <Sprite>("blade");
        chainsawSprite = Resources.Load <Sprite>("chainsaw");
        chassis1Sprite = Resources.Load <Sprite>("chassis_1");
        chassis2Sprite = Resources.Load <Sprite>("chassis_2");
        chassis3Sprite = Resources.Load <Sprite>("chassis_3");
        forkliftSprite = Resources.Load <Sprite>("forklift");
        rocketSprite   = Resources.Load <Sprite>("rocket");
        stingerSprite  = Resources.Load <Sprite>("stinger");
        wheel1Sprite   = Resources.Load <Sprite>("wheel_1");
        wheel2Sprite   = Resources.Load <Sprite>("wheel_2");

        string nickname = PlayerPrefs.GetString("player");

        player = DatabaseDataAcces.getPlayerWithNickname(nickname);

        ItemDropHandler dropHandler;

        dropHandler           = attack1Place.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 4;
        dropHandler.subtype   = 1;

        dropHandler           = attack2Place.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 4;
        dropHandler.subtype   = 2;

        dropHandler           = forkliftPlace.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 3;

        dropHandler           = frontWheelPlace.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 2;
        dropHandler.subtype   = 1;

        dropHandler           = backWheelPlace.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 2;
        dropHandler.subtype   = 2;

        dropHandler           = chassisPlace.AddComponent <ItemDropHandler>();
        dropHandler.modifyCar = this;
        dropHandler.type      = 1;

        LoadItems();

        LoadCar();
    }
Example #6
0
    private void LoadCar()
    {
        Car car = DatabaseDataAcces.getPlayersCar(player.id);

        carRenderer = gameObject.GetComponent <CarRenderer>();

        RenderedCar renderedCar = carRenderer.RenderCar(car, new Vector3(0, 0), false, false, null, -1, false);

        renderedCar.chassis.transform.localScale = new Vector3(2f, 2f);
        renderedCar.chassis.AddComponent <PolygonCollider2D>();
        CarOnClick carOnClick = renderedCar.chassis.AddComponent <CarOnClick>();

        carOnClick.garage = this;
    }
    // Start is called before the first frame update
    void Start()
    {
        List <Player> players = DatabaseDataAcces.getAllPlayers();

        dropdown.ClearOptions();

        foreach (Player p in players)
        {
            dropdown.options.Add(new Dropdown.OptionData()
            {
                text = p.nickname
            });
        }

        dropdown.RefreshShownValue();
    }
Example #8
0
    void GetOpponent()
    {
        List <Player> players = DatabaseDataAcces.getAllPlayers();

        while (true)
        {
            int ind = UnityEngine.Random.Range(0, players.Count);

            opponent = players[ind];

            if (opponent.id != player.id)
            {
                break;
            }
        }
    }
Example #9
0
    public void AddPlayerButton()
    {
        string nick  = nickname.text;
        string first = firstName.text;
        string last  = lastName.text;
        int    a     = int.Parse(age.text);


        Player p = DatabaseDataAcces.getPlayerWithNickname(nick);

        if (p == null)
        {
            p           = new Player();
            p.nickname  = nick;
            p.firstName = first;
            p.lastName  = last;
            p.age       = a;

            DatabaseDataAcces.insertPlayer(p);
        }

        p = DatabaseDataAcces.getPlayerWithNickname(nick);

        int chassisId = DatabaseDataAcces.InsertHasCarPart(p.id, 1, 1);
        int attackId  = DatabaseDataAcces.InsertHasCarPart(p.id, 7, 1);
        int wheelId   = DatabaseDataAcces.InsertHasCarPart(p.id, 5, 1);
        int wheel2Id  = DatabaseDataAcces.InsertHasCarPart(p.id, 5, 1);

        HasCarPart chassis = DatabaseDataAcces.getHasCarPart(chassisId);
        HasCarPart attack  = DatabaseDataAcces.getHasCarPart(attackId);
        HasCarPart wheel   = DatabaseDataAcces.getHasCarPart(wheelId);
        HasCarPart wheel2  = DatabaseDataAcces.getHasCarPart(wheel2Id);

        DatabaseDataAcces.InsertPlayerCar(p.id);

        DatabaseDataAcces.changePart(chassis, 1);
        DatabaseDataAcces.changePart(attack, 1);
        DatabaseDataAcces.changePart(wheel, 1);
        DatabaseDataAcces.changePart(wheel2, 2);

        DatabaseDataAcces.insertBox(p.id, 0);
        DatabaseDataAcces.insertBox(p.id, 0);

        SceneManager.LoadScene("StartupScene");
    }
Example #10
0
    public void LoadItems()
    {
        foreach (Transform child in content.transform)
        {
            Destroy(child.gameObject);
        }

        parts = DatabaseDataAcces.getCarPartsForUser(player.id);

        foreach (HasCarPart carItem in parts)
        {
            GameObject single = Instantiate(singlePrefab);

            Transform stars  = single.transform.Find("stars");
            Transform item   = single.transform.Find("item");
            Transform attack = single.transform.Find("attackText");
            Transform health = single.transform.Find("healthText");
            Transform energy = single.transform.Find("energyText");

            item.GetComponent <Image>().sprite = GetItemSprite(carItem.carPart.id);

            if (carItem.stars == 1)
            {
                stars.GetComponent <Image>().sprite = oneStar;
            }
            else if (carItem.stars == 2)
            {
                stars.GetComponent <Image>().sprite = twoStars;
            }
            else
            {
                stars.GetComponent <Image>().sprite = threeStars;
            }

            attack.gameObject.GetComponent <Text>().text = carItem.carPart.power * carItem.stars + "";
            health.gameObject.GetComponent <Text>().text = carItem.carPart.health * carItem.stars + "";
            energy.gameObject.GetComponent <Text>().text = carItem.carPart.energy * carItem.stars + "";

            single.transform.SetParent(content.transform, false);

            ItemDragHandler dragHandler = item.gameObject.AddComponent <ItemDragHandler>();
            dragHandler.hasCarPart = carItem;
            dragHandler.modifyCar  = this;
        }
    }
Example #11
0
    // Start is called before the first frame update
    void Start()
    {
        oneStar    = Resources.Load <Sprite>("one-star");
        twoStars   = Resources.Load <Sprite>("two-stars");
        threeStars = Resources.Load <Sprite>("three-stars");

        string nickname = PlayerPrefs.GetString("player");

        player = DatabaseDataAcces.getPlayerWithNickname(nickname);

        int lastWon = DatabaseDataAcces.getNumberofWonInRow(player.id) % 3;

        nextBoxImage.fillAmount = (lastWon * 1f) / 3.0f;
        nextBoxText.text        = lastWon + " / 3 Won";

        LoadBoxes();

        LoadCar();
    }
Example #12
0
    public static int getNumberofWonInRow(int playerId)
    {
        List <GamePlayed> gamesPlayed = DatabaseDataAcces.getGamesPlayed(playerId);

        int lastWon = 0;

        for (int i = gamesPlayed.Count - 1; i >= 0; i--)
        {
            if (gamesPlayed[i].winner == 1)
            {
                lastWon++;
            }
            else
            {
                break;
            }
        }

        return(lastWon);
    }
Example #13
0
    void LoadCars()
    {
        CarRenderer carRenderer = gObj.GetComponent <CarRenderer>();

        playerCar = DatabaseDataAcces.getPlayersCar(player.id);

        playerCar.renderedCar = carRenderer.RenderCar(playerCar, new Vector3(-5.0f, -2.5f), true, false, this, 0, playerControls);

        opponentCar = DatabaseDataAcces.getPlayersCar(opponent.id);

        opponentCar.renderedCar = carRenderer.RenderCar(opponentCar, new Vector3(5.0f, -2.5f), true, true, this, 1, false);

        playerHP   = playerCar.GetCarHealth();
        opponentHP = opponentCar.GetCarHealth();

        if (playerControls)
        {
            PlayerControls playerControls = gObj.AddComponent <PlayerControls>();
            playerControls.car = playerCar;
        }
    }
    public void OnDrop(PointerEventData eventData)
    {
        if (modifyCar.selected == null)
        {
            return;
        }

        if (type != modifyCar.selected.carPart.type)
        {
            return;
        }

        if (CheckEnoughEnergy())
        {
            DatabaseDataAcces.changePart(modifyCar.selected, subtype);

            modifyCar.LoadItems();
            modifyCar.LoadCar();

            modifyCar.UnselectItem();
        }
    }
Example #15
0
    public static HasCarPart getHasCarPart(int id)
    {
        HasCarPart hasCarPart = null;

        SqliteCommand command = new SqliteCommand("select * from has_car_part where id = @id", DatabaseConnection.connection);

        command.Parameters.Add(new SqliteParameter("@id", id));

        IDataReader reader = command.ExecuteReader();

        if (reader.Read())
        {
            hasCarPart          = new HasCarPart();
            hasCarPart.id       = reader.GetInt32(0);
            hasCarPart.playerId = reader.GetInt32(1);
            hasCarPart.carPart  = DatabaseDataAcces.getCarPart(reader.GetInt32(2));
            hasCarPart.stars    = reader.GetInt32(3);
        }

        reader.Close();

        return(hasCarPart);
    }
Example #16
0
    private void LoadBoxes()
    {
        for (int i = 0; i < 4; i++)
        {
            Transform crate = boxPlaces[i].transform.GetChild(0);
            Transform text  = boxPlaces[i].transform.GetChild(1);

            crate.gameObject.SetActive(false);
            text.gameObject.SetActive(false);
        }

        boxes = DatabaseDataAcces.getPlayerBoxes(player.id);

        for (int i = 0; i < boxes.Count; i++)
        {
            Transform crate = boxPlaces[i].transform.GetChild(0);
            Transform text  = boxPlaces[i].transform.GetChild(1);

            long now = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds;

            long   elapsed = (now - boxes[i].acquired) / (1000 * 60);
            string label   = "OPEN";

            if (elapsed < 120)
            {
                label = (120 - elapsed) + "m";
            }

            text.gameObject.GetComponent <Text>().text = label;
            text.gameObject.SetActive(true);

            BoxOnClick onClick = crate.GetComponent <BoxOnClick>();
            onClick.box    = boxes[i];
            onClick.garage = this;
            crate.gameObject.SetActive(true);
        }
    }
Example #17
0
    // Start is called before the first frame update
    void Start()
    {
        moveWalls           = false;
        playerHittingWall   = false;
        opponentHittingWall = false;
        lastHPChangeTime    = Time.time;
        playerControls      = PlayerPrefs.GetInt("controls") == 1;

        string nickname = PlayerPrefs.GetString("player");

        player = DatabaseDataAcces.getPlayerWithNickname(nickname);

        winnerText.gameObject.SetActive(false);
        goToGarage.gameObject.SetActive(false);
        winnerBackground.gameObject.SetActive(false);

        GetOpponent();

        playerName.text   = player.nickname;
        opponentName.text = opponent.nickname;

        LoadCars();
        IgnoreCollisions();
    }
Example #18
0
    public void LoadCar()
    {
        if (renderedCar != null)
        {
            Destroy(renderedCar.chassis);
            renderedCar = null;
        }

        playerCar = DatabaseDataAcces.getPlayersCar(player.id);

        powerText.text  = playerCar.GetCarPower() + "";
        energyText.text = playerCar.GetCarEnergyLeft() + "";
        healthText.text = playerCar.GetCarHealth() + "";

        carRenderer = gameObject.GetComponent <CarRenderer>();

        renderedCar = carRenderer.RenderCar(playerCar, new Vector3(0f, -1.5f), false, false, null, -1, false);

        renderedCar.chassis.transform.localScale = new Vector3(2f, 2f);

        if (renderedCar.attack1 != null)
        {
            RemoveItemOnClick removeItem = renderedCar.attack1.AddComponent <RemoveItemOnClick>();
            removeItem.item      = renderedCar.attack1;
            removeItem.type      = 1;
            removeItem.modifyCar = this;

            renderedCar.attack1.AddComponent <PolygonCollider2D>();
        }

        if (renderedCar.attack2 != null)
        {
            RemoveItemOnClick removeItem = renderedCar.attack2.AddComponent <RemoveItemOnClick>();
            removeItem.item      = renderedCar.attack2;
            removeItem.type      = 2;
            removeItem.modifyCar = this;
            renderedCar.attack2.AddComponent <PolygonCollider2D>();
        }

        if (renderedCar.forklift != null)
        {
            RemoveItemOnClick removeItem = renderedCar.forklift.AddComponent <RemoveItemOnClick>();
            removeItem.item      = renderedCar.forklift;
            removeItem.type      = 3;
            removeItem.modifyCar = this;
            renderedCar.forklift.AddComponent <PolygonCollider2D>();
        }

        if (renderedCar.frontWheel != null)
        {
            RemoveItemOnClick removeItem = renderedCar.frontWheel.AddComponent <RemoveItemOnClick>();
            removeItem.item      = renderedCar.frontWheel;
            removeItem.type      = 4;
            removeItem.modifyCar = this;
            renderedCar.frontWheel.AddComponent <PolygonCollider2D>();
        }

        if (renderedCar.backWheel != null)
        {
            RemoveItemOnClick removeItem = renderedCar.backWheel.AddComponent <RemoveItemOnClick>();
            removeItem.item      = renderedCar.backWheel;
            removeItem.type      = 5;
            removeItem.modifyCar = this;
            renderedCar.backWheel.AddComponent <PolygonCollider2D>();
        }

        LoadPlaces(playerCar.chassis);
    }