示例#1
0
 public void SaveGame(bool upgrades, bool stats)
 {
     if (!upgrades)
     {
         SaveLoadMaster.SaveProgress(currentLevel, masterMoney);
     }
     else
     {
         Upgrades ups = this.GetComponent <Upgrades>();
         if (!stats)
         {
             SaveLoadMaster.SaveProgress(currentLevel, masterMoney, new int[3] {
                 ups.aimSpeedLVL, ups.fireSpeedLVL, ups.pullPowerLVL
             }, new bool[6] {
                 ups.Hooksize, ups.scannerUpgrade, ups.aimUpgrade, ups.BackGrab, ups.Destroyer, ups.autograb
             });
         }
         else
         {
             EndGameStats gamestats = this.GetComponent <EndGameStats>();
             SaveLoadMaster.SaveProgress(currentLevel, masterMoney, new int[3] {
                 ups.aimSpeedLVL, ups.fireSpeedLVL, ups.pullPowerLVL
             }, new bool[6] {
                 ups.Hooksize, ups.scannerUpgrade, ups.aimUpgrade, ups.BackGrab, ups.Destroyer, ups.autograb
             }, new int[] { gamestats.totalCash, gamestats.orescollected, gamestats.bombesExploded, gamestats.oresenriched, gamestats.upgradespurchased });
         }
     }
 }
示例#2
0
 public StatisticController(SceneMgr mgr, Player owner, EndGameStats statsWindow, bool limited)
 {
     this.mgr         = mgr;
     this.owner       = owner;
     this.statsWindow = statsWindow;
     this.limited     = limited;
 }
示例#3
0
        /// <summary>
        /// Vytvori a zobrazi okno se statistikami za posledni hru a nastavi akci, ktera se ma provest po zavreni statistik
        /// </summary>
        /// <param name="endType">typ konce hry</param>
        private void ShowEndGameStats(GameEnd endType)
        {
            //zrusime static mouse a zabranime dalsimu update - hrac pozna ze je konec
            StaticMouse.Enable(false);
            stopUpdating = true;

            Invoke(new Action(() =>
            {
                // vytvorime okno se statistikami za posledni hru
                EndGameStats s = GuiObjectFactory.CreateAndAddPlayerStatsUc(this, currentPlayer, currentPlayer.IsActivePlayer(), new Vector((SharedDef.VIEW_PORT_SIZE.Width - 800) / 2, (SharedDef.VIEW_PORT_SIZE.Height - 500) / 2));
                // a vytvorime akci, ktera se zavola pri zavreni statistik
                s.CloseAction = new Action(() =>
                {
                    // zavreni vyvola bud uzivatel (vlakno gui) nebo GameState (vlakno sceny), proto je potreba synchronizovat
                    Enqueue(new Action(() =>
                    {
                        if (endType != GameEnd.TOURNAMENT_FINISHED)
                        {
                            CloseGameWindowAndCleanup(endType);
                        }
                        else
                        {
                            TournamentFinished();
                        }
                    }));
                });
            }));
        }
示例#4
0
    public void EndGame(float timeStat, int coinStat, float speedStat, int wallStat)
    {
        //TODO
        _musicManager.StopMusic();
        _musicManager.PlayCrowdSound();
        EndGameMenuObject.SetActive(true);
        EndGameStats endGameStats = EndGameMenuObject.GetComponent <EndGameStats>();

        endGameStats.DisplayStats(timeStat, coinStat, speedStat, wallStat);
        EventSystem.current.SetSelectedGameObject(RestartButton);
    }
示例#5
0
        public static EndGameStats CreateAndAddPlayerStatsUc(SceneMgr mgr, Player owner, bool isPlayer, Vector position)
        {
            EndGameStats stats = CreatePlayerStatsUC(mgr, owner, isPlayer, true);

            mgr.GetCanvas().Children.Add(stats);
            Canvas.SetLeft(stats, position.X);
            Canvas.SetTop(stats, position.Y);
            Canvas.SetZIndex(stats, 200);

            return(stats);
        }
        public InstaSpectatorStatisticsController(SceneMgr mgr, Player owner, EndGameStats stats, bool limited, SpectatorStatsUC window)
            : base(mgr, owner, stats, limited, window)
        {
            LoadActionsUsed();
            LoadDamage();
            LoadDeadTime();
            LoadFavAction();
            LoadGameTime();

            SetData();
        }
示例#7
0
        public InstaPlayerStatisticsController(SceneMgr mgr, Player owner, EndGameStats stats, bool limited, PlayerStatsUC window)
            : base(mgr, owner, stats, limited, window)
        {
            LoadHook(0);
            LoadMine(0);
            LoadBullet(0);
            LoadDamage();
            LoadGold();
            LoadHeal();
            LoadActions();
            LoadPowerups();
            LoadFavAction();
            LoadFavPowerup();

            SetData();
        }
示例#8
0
    void Start()
    {
        statistics = this.GetComponent <EndGameStats>();
        SM         = this.GetComponent <SoundMaster>();

        HookValue temphook = new HookValue();

        temphook.type = HookType.Grapple;
        hooks         = new List <HookValue>();
        hooks.Add(temphook);

        //set start cash

        levelMoney = 0;
        //temp level start
        if (Testmode)
        {
            //StartLVL(false);
            testcript   = this.GetComponent <levelTesting>();
            LoadedLevel = testcript.testlevel;
            if (LoadedLevel.GetComponent <Map>() != null)
            {
                LoadedLevel.GetComponent <Level>().UnPackLVL();
            }
            //Load UI
            UI_Control.instance.PanelSwitch(UI_Control.ActiveUI.LvlPanel);
            //unpause
            Targeterobj.GetComponent <Targeter>().currentAngle = 0f;
            Targeterobj.GetComponent <Targeter>().dir          = -1;
            Targeterobj.GetComponent <Targeter>().ResetTargeter();
            PauseLVL(!pause);
            ApplyAttributes();
        }
        if (load)
        {
            LoadGame();
        }

        if (currentLevel > 0)
        {
            //set main menu to continue show
            UI_Control.instance.menuMain.GetComponent <MainMenu>().contBut.SetActive(true);
        }
    }
示例#9
0
        public static EndGameStats CreatePlayerStatsUC(SceneMgr mgr, Player owner, bool isPlayer, bool limited)
        {
            EndGameStats statsWindow = new EndGameStats();

            if (isPlayer)
            {
                PlayerStatsUC playerStats = new PlayerStatsUC();
                statsWindow.SetStats(playerStats);

                PlayerStatisticsController controller;
                if (limited)
                {
                    controller = new PlayerStatisticsController(mgr, owner, statsWindow, limited, playerStats);
                }
                else
                {
                    controller = new InstaPlayerStatisticsController(mgr, owner, statsWindow, limited, playerStats);
                }

                mgr.StateMgr.AddGameState(controller);
            }
            else
            {
                SpectatorStatsUC playerStats = new SpectatorStatsUC();
                statsWindow.SetStats(playerStats);

                SpectatorStatisticController controller;
                if (limited)
                {
                    controller = new SpectatorStatisticController(mgr, owner, statsWindow, limited, playerStats);
                }
                else
                {
                    controller = new InstaSpectatorStatisticsController(mgr, owner, statsWindow, limited, playerStats);
                }

                mgr.StateMgr.AddGameState(controller);
            }

            return(statsWindow);
        }
 public PlayerStatisticsController(SceneMgr mgr, Player owner, EndGameStats stats, bool limited, PlayerStatsUC window)
     : base(mgr, owner, stats, limited)
 {
     this.window = window;
 }