Пример #1
0
 public Highscore(int i_gameID, string i_cname, uint i_score, GameEndingType i_endType)
 {
     gameID     = i_gameID;
     colonyName = i_cname;
     score      = i_score;
     endType    = i_endType;
 }
Пример #2
0
 public Highscore(string i_cname, double i_score, GameEndingType i_endType)
 {
     date       = System.DateTime.UtcNow;
     colonyName = i_cname;
     score      = i_score;
     endType    = i_endType;
 }
Пример #3
0
    private Rect GetEndGameIconRect(GameEndingType endType)
    {
        switch (endType)
        {
        case GameEndingType.ColonyLost: return(new Rect(0.5f, 0.75f, 0.25f, 0.25f));

        case GameEndingType.FoundationRoute: return(new Rect(0.75f, 0.75f, 0.25f, 0.25f));

        case GameEndingType.ConsumedByReal: return(new Rect(0, 0.75f, 0.25f, 0.25f));

        case GameEndingType.ConsumedByLastSector: return(new Rect(0.25f, 0.75f, 0.25f, 0.25f));

        default: return(Rect.zero);
        }
    }
Пример #4
0
    //
    public void GameOver(GameEndingType endType)
    {
        if (gameStatus == GameStatus.Ended)
        {
            return;
        }
        gameStatus = GameStatus.Ended;
        var score = ScoreCalculator.GetScore(this);

        uicontroller?.GameOver(endType, score);
        if (gameID != -1)
        {
            Highscore.AddHighscore(new Highscore(gameID, colonyController.cityName, score, endType));
        }
        SetPause(true);
    }
Пример #5
0
    //
    public void GameOver(GameEndingType endType)
    {
        SetPause(true);
        UIController.current.FullDeactivation();

        double score = new ScoreCalculator().GetScore(this);

        Highscore.AddHighscore(new Highscore(colonyController.cityName, score, endType));

        string reason = Localization.GetEndingTitle(endType);

        switch (endType)
        {
        case GameEndingType.FoundationRoute:
        {
            Transform endpanel = Instantiate(Resources.Load <GameObject>("UIPrefs/endPanel"), UIController.current.mainCanvas).transform;
            endpanel.GetChild(1).GetChild(0).GetComponent <UnityEngine.UI.Text>().text = reason;
            endpanel.GetChild(2).GetComponent <UnityEngine.UI.Text>().text             = Localization.GetWord(LocalizedWord.Score) + ": " + ((int)score).ToString();
            var b = endpanel.GetChild(3).GetComponent <UnityEngine.UI.Button>();
            b.onClick.AddListener(ReturnToMenuAfterGameOver);
            b.transform.GetChild(0).GetComponent <UnityEngine.UI.Text>().text = Localization.GetWord(LocalizedWord.MainMenu);
            b = endpanel.GetChild(4).GetComponent <UnityEngine.UI.Button>();
            b.onClick.AddListener(() => { ContinueGameAfterEnd(endpanel.gameObject); });
            b.transform.GetChild(0).GetComponent <UnityEngine.UI.Text>().text = Localization.GetWord(LocalizedWord.Continue);
            break;
        }

        case GameEndingType.ColonyLost:
        case GameEndingType.Default:
        case GameEndingType.ConsumedByReal:
        case GameEndingType.ConsumedByLastSector:
        default:
        {
            Transform failpanel = Instantiate(Resources.Load <GameObject>("UIPrefs/failPanel"), UIController.current.mainCanvas).transform;
            failpanel.GetChild(1).GetChild(0).GetComponent <UnityEngine.UI.Text>().text = reason;
            failpanel.GetChild(2).GetComponent <UnityEngine.UI.Text>().text             = Localization.GetWord(LocalizedWord.Score) + ": " + ((int)score).ToString();
            var b = failpanel.GetChild(3).GetComponent <UnityEngine.UI.Button>();
            b.onClick.AddListener(ReturnToMenuAfterGameOver);
            b.transform.GetChild(0).GetComponent <UnityEngine.UI.Text>().text = Localization.GetWord(LocalizedWord.MainMenu);
            break;
        }
        }
    }
    public void Prepare(GameEndingType endType, uint score)
    {
        string reason  = Localization.GetEndingTitle(endType);
        var    rmaster = GameMaster.realMaster;

        switch (endType)
        {
        case GameEndingType.FoundationRoute:
        {
            endLabel.text   = reason;
            scoreLabel.text = Localization.GetWord(LocalizedWord.Score) + ": " + score.ToString();
            returnToMenuButton.onClick.AddListener(GameMaster.ReturnToMainMenu);
            returnToMenuButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.MainMenu);

            continueGameButton.onClick.AddListener(rmaster.ContinueGameAfterEnd);
            continueGameButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.Continue);
            //
            continueGameButton.gameObject.SetActive(false);
            break;
        }

        case GameEndingType.ColonyLost:
        case GameEndingType.Default:
        case GameEndingType.ConsumedByReal:
        case GameEndingType.ConsumedByLastSector:
        default:
        {
            endLabel.text              = reason;
            scoreLabel.text            = Localization.GetWord(LocalizedWord.Score) + ": " + score.ToString();
            backgroundImage.texture    = Resources.Load <Texture>("Textures/gameover_texture");
            continueGameButton.enabled = false;
            returnToMenuButton.enabled = false;
            var rt = returnToMenuButton.GetComponent <RectTransform>();
            rt.anchorMin = new Vector2(0f, rt.anchorMin.y);
            rt.offsetMin = new Vector2(rt.offsetMax.x, rt.offsetMin.y);
            returnToMenuButton.onClick.AddListener(GameMaster.ReturnToMainMenu);
            returnToMenuButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.MainMenu);
            returnToMenuButton.enabled = true;
            break;
        }
        }
    }
Пример #7
0
 public void GameOver(GameEndingType endType, uint score)
 {
     GetEndPanelController().Prepare(endType, score);
     ChangeUIMode(UIMode.Endgame, true);
 }
Пример #8
0
 public Highscore(string i_cname, ulong i_score, GameEndingType i_endType)
 {
     colonyName = i_cname;
     score      = i_score;
     endType    = i_endType;
 }