Exemplo n.º 1
0
    public override void Show()
    {
        base.Show();
        SetupTopbar();
        UpdateCity();
        mapMask.SetActive(true);
        resources.SetActive(true);

        if (GameManager.Instance.Player.Trip.HasAlreadyVistedCurrentCity())
        {
            StartTimeEvents(false);
            try
            {
                DisplayCityChoiceScreen();
            }
            catch (Exception e)
            {
                DebugText.SetText(1, "2 " + e.Message);
            }
        }
        else
        {
            DisplayPackageChoiceScreen();
        }
    }
Exemplo n.º 2
0
    private void PlaceObject()
    {
        try {
            ARReferencePoint referencePoint = referencePointManager.AddReferencePoint(placementPose);
            //referencePointManager.referencePointPrefab = objectToSpawn;

            if (referencePoint != null)
            {
                referencePoints.Add(packageCounter, referencePoint);
                GameObject packageObject = Instantiate(objectToSpawn, placementPose.position, Quaternion.Euler(0, 180, 0));
                packageObject.transform.SetParent(referencePoint.transform, true);
                packageHistory.Add(packageCounter, packageObject);

                if (packageCounter < 3)
                {
                    packageCounter++;
                    objectToSpawn = packagePrefabs[packageCounter];
                }
                else
                {
                    uiText.text       = "";
                    objectToSpawn     = null;
                    placementIsActive = false;
                    placementIndicator.SetActive(false);
                    HidePlaneDetection();
                    StartCoroutine(WaitAfterPlacementFinished());
                }
            }
        }
        catch (Exception e)
        {
            DebugText.SetText(1, "9 " + e.Message);
        }
    }
Exemplo n.º 3
0
    public void EndGame()
    {
        SetWind(0, 0);
        SandstormRef.Stop();

        ClearPlayerObjects();

        Started = false;
        SetupGameRef.Clear();

        WaitingToEndGame    = false;
        WaitingToNextPlayer = false;
        Terrain.GetReference().initialized = false;
        MusicManager.GetReference().PlayMenuMusic();
        DebugText.SetText("");
    }
Exemplo n.º 4
0
    public void DisplayCityChoiceScreen()
    {
        try {
            // null reference probably bc of this
            if (MobileOnlyActivator.IsMobile)
            {
                arObjectsManager.Deactivate();
            }

            eventGroup.CancelEvent("chooseNextTravel");
            SetupCityButtons();
            ChangeScreen(cityChoiceScreen);
        }
        catch (Exception e)
        {
            DebugText.SetText(1, "11 " + e.Message);
        }
    }
Exemplo n.º 5
0
    void Update()
    {
        try {
            if (isActive && placementIsActive)
            {
                UpdatePlacementPose();
                UpdatePlacementIndicator();

                if (placementPoseIsValid && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
                {
                    PlaceObject();
                }
            }
            if (isActive && selectionIsActive)
            {
                CheckForSelection();
            }

            //todo:
            //remove - is here only for interaction chance when in citystay
            if (isActive && !placementIsActive && !selectionIsActive && allowedToContinue)
            {
                if (Input.touchCount > 0)
                {
                    Touch touch = Input.GetTouch(0);

                    if (touch.phase == TouchPhase.Began)
                    {
                        Ray ray = Camera.current.ScreenPointToRay(touch.position);

                        if (Physics.Raycast(ray, out _))
                        {
                            ClearRestObject();
                            inCity.DisplayCityChoiceScreen();
                        }
                    }
                }
            }
        }
        catch (Exception e) {
            DebugText.SetText(1, "7 " + e.Message);
        }
    }
Exemplo n.º 6
0
    // Update is called once per frame
    void Update()
    {
        if (Started)
        {
            Tank   currentPlayer = GetCurrentPlayer();
            string message       = currentPlayer.TankName + "'s Turn. Health: " + currentPlayer.Health.ToString("0.00");
            message += " Fuel: " + currentPlayer.Fuel.ToString("0.00");
            message += " Munition: " + BulletPrefabs[currentPlayer.BulletType].name;
            DebugText.SetText(message);

            if (Input.GetKeyDown(KeyCode.Escape))
            {
                if (Paused)
                {
                    Paused = false;
                    PauseMenuRef.Unpause();
                }
                else
                {
                    Paused = true;
                    PauseMenuRef.gameObject.SetActive(true);
                }
            }

            if (WaitingToNextPlayer)
            {
                NextPlayerTimer -= Time.deltaTime;
                if (NextPlayerTimer <= 0f)
                {
                    WaitingToNextPlayer = false;

                    CurrentPlayer++;
                    if (CurrentPlayer >= PlayerTanks.Count)
                    {
                        CurrentPlayer = 0;
                        NextTurn();
                    }

                    Winner = CheckWinner();
                    if (Winner == -1)
                    {
                        GetCurrentPlayer().StartTurn();
                    }
                    else
                    {
                        WaitingToEndGame = true;
                        EndGameTimer     = 8f;
                    }

                    if (!OnlineGame || PhotonNetwork.IsMasterClient)
                    {
                        if (Random.Range(0, 10) > 6)
                        {
                            BonusBoxRef.Spawn(Terrain.GetReference().HighestPoint + 2f);
                        }
                    }
                }
            }

            if (WaitingToEndGame)
            {
                EndGameTimer -= Time.deltaTime;
                if (EndGameTimer <= 3f)
                {
                    DarkOverlay.GetReference().SetDarkness(1f);
                }
                if (EndGameTimer <= 0f)
                {
                    DarkOverlay.GetReference().SetDarkness(0f);
                    WaitingToEndGame = false;

                    GameOverRef.gameObject.SetActive(true);
                    GameOverText.text = "Game Over\n\nThe winner is " + PlayerTanks[Winner].TankName;
                    EndGame();
                }
            }
        }
    }
Exemplo n.º 7
0
 void FixedUpdate()
 {
     debugText.SetText($"Speed: {rb.velocity.magnitude.ToString("0.0")} m/s");
 }