示例#1
0
        private static string LoadAndTestOS(ScreenManager screenMan, out int errorsAdded)
        {
            int    errorCount = 0;
            string str1       = "";
            string username   = "******";
            string pass       = "******";

            SaveFileManager.AddUser(username, pass);
            string fileNameForUsername = SaveFileManager.GetSaveFileNameForUsername(username);

            OS.TestingPassOnly = true;
            OS os1 = new OS();

            os1.SaveGameUserName    = fileNameForUsername;
            os1.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os1, new PlayerIndex?(screenMan.controllingPlayer));
            os1.delayer.RunAllDelayedActions();
            os1.threadedSaveExecute(false);
            List <Computer> nodes = os1.netMap.nodes;

            screenMan.RemoveScreen((GameScreen)os1);
            OS.WillLoadSave = true;
            OS os2 = new OS();

            os2.SaveGameUserName    = fileNameForUsername;
            os2.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os2, new PlayerIndex?(screenMan.controllingPlayer));
            os2.delayer.RunAllDelayedActions();
            Game1.getSingleton().IsMouseVisible = true;
            screenMan.RemoveScreen((GameScreen)os2);
            string str2 = str1 + TestSuite.getTestingReportForLoadComparison((object)os2, nodes, errorCount, out errorCount) + "\r\n" + TestSuite.TestMissions((object)os2);

            errorsAdded = errorCount;
            return(str2);
        }
 /// <summary>
 /// Loads saved games and adds all components/controls to the view
 /// </summary>
 public GameSelectionView()
 {
     _savedGames = SaveFileManager.LoadGames();
     InitializeComponent();
     WfLogger.Log(this, LogLevel.DEBUG, "Initialized SelectGameView");
     AddComponents();
 }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Opens the Game Overview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void startButton_Click(object sender, EventArgs e)
        {
            StartView startView = new StartView();

            startView.Open(this);
            SaveFileManager.Save(PAPIApplication.GetSettings());
        }
示例#4
0
    void Start()
    {
        //create the save file if it doesn't exist
        if (SaveFileManager.LoadedSaveSlot == null)
        {
            SaveFileManager.saveSlotFileName = Path.Combine(Application.persistentDataPath, DateTime.Now.ToString("yyyyMMddTHHmmss") + ".sav");
            SaveFileManager.LoadedSaveSlot   = SaveFileManager.CreateBlankSaveSlot();

//			SaveFileManager.SaveData(SaveFileManager.LoadedSaveSlot, SaveFileManager.saveSlotFileName);
        }

        //initialize the game world with the given save data
        startTime = Time.time;

        //convert the array into a quick-search dictionary
        Structures.Pedestal[] pedestals = GameObject.FindObjectsOfType <Structures.Pedestal>();
        foreach (Structures.Pedestal pedestal in pedestals)
        {
            pedestal.SaveHandler = this;
            pedestalDictionary[pedestal.name] = pedestal;
        }

        //place the player on their saved pedestal
        playerObject.transform.position = pedestalDictionary[SaveFileManager.LoadedSaveSlot.currentLocation].gameObject.transform.position;
    }
示例#5
0
        internal static void SetupTestingEnvironment(ScreenManager screenMan, Action <OS, List <Computer> > CompareSessions)
        {
            string username = "******";
            string pass     = "******";

            SaveFileManager.AddUser(username, pass);
            string fileNameForUsername = SaveFileManager.GetSaveFileNameForUsername(username);

            OS.TestingPassOnly = true;
            OS os1 = new OS();

            os1.SaveGameUserName    = fileNameForUsername;
            os1.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os1, new PlayerIndex?(screenMan.controllingPlayer));
            os1.delayer.RunAllDelayedActions();
            os1.threadedSaveExecute(false);
            List <Computer> nodes = os1.netMap.nodes;

            screenMan.RemoveScreen((GameScreen)os1);
            OS.WillLoadSave = true;
            OS os2 = new OS();

            os2.SaveGameUserName    = fileNameForUsername;
            os2.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os2, new PlayerIndex?(screenMan.controllingPlayer));
            os2.delayer.RunAllDelayedActions();
            Game1.getSingleton().IsMouseVisible = true;
            List <string> stringList1           = new List <string>();
            List <string> stringList2           = new List <string>();

            CompareSessions(os2, nodes);
            screenMan.RemoveScreen((GameScreen)os2);
            OS.TestingPassOnly = false;
        }
示例#6
0
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Calls the CTOR of PAPIGame and creates a new game with the given genre and the current player as game master
        /// </summary>
        /// <param name="genre"></param>
        public static void CreateNewGame(GenreEnum genre, string id)
        {
            _runningGame = new PAPIGame(genre, PAPIApplication.GetPlayer(), null, DateTime.Now, DateTime.Now, null, id);
            SaveFileManager.Save(_runningGame);

            WfLogger.Log("PAPIApplication.CreateNewGame", LogLevel.DEBUG, "Created new Game");
        }
 public void GoToMapScreen(SaveFile Current)
 {
     SoundLoader.Play("sb-type.wav", false).volume = .5f;
     SaveFileManager.SetCurrentSaveFile(Current);
     Current.FullLoad();
     SceneManager.LoadScene("MapScreen");
 }
示例#8
0
    private void Awake()
    {
        // Load the game if there is a savestate
        SaveFile save = SaveFileManager.LoadGame();

        GameObject.FindGameObjectWithTag("Player").transform.position = save.playerPos;
        // Lock the mouse to the game window
        lockedToWindow   = CursorLockMode.Confined;
        Cursor.lockState = lockedToWindow;
        // Make this a singleton class
        if (Instance != null)
        {
            Destroy(gameObject);
        }
        else
        {
            // If there is no GameManager besides this one, make this the game Manager
            Instance = this;
            DontDestroyOnLoad(gameObject);
            // Instantiate a defined number of balls into the free cannon balls stack (Preparation for object pooling)
            for (int i = 0; i < cannonBallCount; i++)
            {
                GameObject ballToPush = Instantiate(cannonBallPrefab, Vector3.zero, transform.rotation);
                ballToPush.SetActive(false);
                ballToPush.transform.SetParent(cannonBallParent.transform);
                freeCannonBalls.Push(ballToPush);
            }
        }
        oldEnemiesNearbyPlayerCount = enemiesNearbyPlayer.Count;
        SetUpSun(gameStartsAtDayTime);
    }
示例#9
0
        internal static bool SaveLoadReplacementPrefix(ref OS __instance)
        {
            __instance.FirstTimeStartup = false;

            Stream saveStream = __instance.ForceLoadOverrideStream ??
                                SaveFileManager.GetSaveReadStream(__instance.SaveGameUserName);

            if (saveStream == null)
            {
                return(false);
            }

            os = __instance;

            executor.SetText(new StreamReader(saveStream).ReadToEnd(), false);

            foreach (var custom in CustomExecutors)
            {
                var customInstance = (SaveExecutor)Activator.CreateInstance(custom.ExecutorType);
                customInstance.Init(os);
                executor.RegisterTempExecutor(custom.Element, customInstance.Execute, custom.Options);
            }

            executor.Parse();

            return(false);
        }
示例#10
0
 public static void CreateNewAccountForExtensionAndStart(string username, string pass, ScreenManager sman, GameScreen currentScreen = null, ExtensionsMenuScreen extensionsScreen = null)
 {
     if (SaveFileManager.AddUser(username, pass))
     {
         OS     os = new OS();
         string filePathForLogin = SaveFileManager.GetFilePathForLogin(username, pass);
         if (currentScreen != null)
         {
             currentScreen.ExitScreen();
         }
         MainMenu.resetOS();
         Settings.IsInExtensionMode = true;
         if (!Settings.soundDisabled)
         {
             sman.playAlertSound();
         }
         os.SaveGameUserName    = filePathForLogin;
         os.SaveUserAccountName = username;
         sman.AddScreen((GameScreen)os, new PlayerIndex?(sman.controllingPlayer));
     }
     else if (extensionsScreen != null)
     {
         extensionsScreen.ShowError("Error Creating UserAccount for username :"******"Error auto-loading Extension " + Game1.AutoLoadExtensionPath;
     }
 }
示例#11
0
 // Save the game and set the respawn point(obsolete) for the player. This is called when the save button is pressed
 public void OnSaveButtonClicked()
 {
     // TODO remove the respawn point system
     SaveFileManager.SaveGame();
     GameManager.Instance.RespawnPoint = GameObject.FindGameObjectWithTag("Player").transform.position;
     Hide();
 }
示例#12
0
        private void StartFullDLCTest()
        {
            this.ExitScreen();
            MainMenu.resetOS();
            if (!Settings.soundDisabled)
            {
                this.ScreenManager.playAlertSound();
            }
            OS     os       = new OS();
            string username = "******";

            SaveFileManager.AddUser(username, "test");
            string fileNameForUsername = SaveFileManager.GetSaveFileNameForUsername(username);

            os.IsDLCConventionDemo = true;
            os.Flags.AddFlag("TutorialComplete");
            Settings.EnableDLC         = true;
            Settings.initShowsTutorial = false;
            os.SaveGameUserName        = fileNameForUsername;
            os.SaveUserAccountName     = username;
            os.initShowsTutorial       = false;
            this.ScreenManager.AddScreen((GameScreen)os, new PlayerIndex?(this.ScreenManager.controllingPlayer));
            SessionAccelerator.AccelerateSessionToDLCStart((object)os);
            os.delayer.Post(ActionDelayer.Wait(0.15), (Action)(() => Game1.getSingleton().IsMouseVisible = true));
        }
示例#13
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
示例#14
0
 private void Awake()
 {
     uiManager  = GetComponent <UIManager>();
     hubTracker = GetComponent <HUBTracker>();
     soundMgr   = GetComponent <SoundManager>();
     invMgr     = GetComponent <InventoryManager>();
     saveMgr    = GetComponent <SaveFileManager>();
 }
示例#15
0
        public CimToolBase(CimToolSettings modSettings)
        {
            m_modSettings     = modSettings;
            m_saveFileOptions = new SaveFileManager(modSettings);
            m_xmlOptions      = new XmlFileManager(modSettings);

            m_xmlOptions.Load();
        }
示例#16
0
文件: LoadGame.cs 项目: xdaisy/osmose
    void Start()
    {
        GameManager.Instance.OnMainMenu = true;
        prevButton = NewGameButton;
        EventSystem.current.SetSelectedGameObject(NewGameButton);

        // load the save data
        SaveFileManager.LoadSaves();
    }
示例#17
0
    public FileData(SaveFileManager saveMgr)
    {
        for (int i = 0; i < saveMgr.fileNames.Count; i++)
        {
            fileNames.Add(saveMgr.fileNames[i]);
        }

        creditCount = saveMgr.creditCount;
        datumCount  = saveMgr.datumCount;
    }
示例#18
0
        public MainWindow()
        {
            InitializeComponent();

            save = SaveFileManager.Instance;

            if (save.fileLoaded)
            {
                Start();
            }
        }
示例#19
0
        public static string TestConditionalActionSetCollectionsOnOS(ScreenManager screenMan, out int errorsAdded)
        {
            int    num      = 0;
            string str      = "";
            string username = "******";
            string pass     = "******";

            SaveFileManager.AddUser(username, pass);
            string fileNameForUsername = SaveFileManager.GetSaveFileNameForUsername(username);

            OS.TestingPassOnly = true;
            OS os1 = new OS();

            os1.SaveGameUserName    = fileNameForUsername;
            os1.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os1, new PlayerIndex?(screenMan.controllingPlayer));
            os1.delayer.RunAllDelayedActions();
            RunnableConditionalActions conditionalActions = os1.ConditionalActions;

            os1.ConditionalActions.Actions.Add(new SerializableConditionalActionSet()
            {
                Condition = (SerializableCondition) new SCOnAdminGained(),
                Actions   = new List <SerializableAction>()
            });
            os1.ConditionalActions.Actions.Add(new SerializableConditionalActionSet()
            {
                Condition = (SerializableCondition) new SCOnAdminGained(),
                Actions   = new List <SerializableAction>()
            });
            os1.threadedSaveExecute(false);
            List <Computer> nodes = os1.netMap.nodes;

            screenMan.RemoveScreen((GameScreen)os1);
            OS.WillLoadSave = true;
            OS os2 = new OS();

            os2.SaveGameUserName    = fileNameForUsername;
            os2.SaveUserAccountName = username;
            screenMan.AddScreen((GameScreen)os2, new PlayerIndex?(screenMan.controllingPlayer));
            os2.delayer.RunAllDelayedActions();
            Game1.getSingleton().IsMouseVisible = true;
            List <string> stringList1           = new List <string>();
            List <string> stringList2           = new List <string>();

            if (os2.ConditionalActions.Actions.Count != conditionalActions.Actions.Count)
            {
                ++num;
                str = str + "Save on OS COnditional actions failed! Expected 2, got " + (object)os2.ConditionalActions.Actions.Count;
            }
            screenMan.RemoveScreen((GameScreen)os2);
            OS.TestingPassOnly = false;
            errorsAdded        = num;
            return(str);
        }
示例#20
0
 private void ExitExtensionsScreen()
 {
     this.ExtensionInfoToShow   = (ExtensionInfo)null;
     Settings.IsInExtensionMode = false;
     SaveFileManager.Init(true);
     if (this.ExitClicked == null)
     {
         return;
     }
     this.ExitClicked();
 }
示例#21
0
 private void ActivateExtensionPage(ExtensionInfo info)
 {
     LocaleActivator.ActivateLocale(info.Language, Game1.getSingleton().Content);
     this.ExtensionInfoToShow            = info;
     this.ReportOverride                 = (string)null;
     this.SaveScreen.ProjectName         = info.Name;
     Settings.IsInExtensionMode          = true;
     ExtensionLoader.ActiveExtensionInfo = info;
     SaveFileManager.Init(true);
     this.SaveScreen.ResetForNewAccount();
 }
示例#22
0
    /// <summary>
    /// Coroutine to save the game
    /// </summary>
    /// <param name="file">Index of the file</param>
    private IEnumerator SaveCo(int file)
    {
        // save
        SaveMenuUI.PlaySaveAnimation();
        SaveFileManager.Save(file);
        // wait 1 sec
        yield return(new WaitForSeconds(1f));

        SaveMenuUI.UpdateSaveMenu();
        SaveMenuUI.StopSaveAnimation();
    }
示例#23
0
        public override void Execute()
        {
            //calculate playtime
            SaveFileManager.LoadedSaveSlot.secondsPlaying += Time.time - saveHandler.startTime;
            saveHandler.startTime = Time.time;

            //save the game
            SaveFileManager.SaveData(SaveFileManager.LoadedSaveSlot, SaveFileManager.saveSlotFileName);
            oldMenu.gameObject.SetActive(false);
            newMenu.gameObject.SetActive(true);
        }
        private void Load_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog()
            {
                Filter = "Dashboard layouts|*.dbl"
            };

            if (dlg.ShowDialog() == true)
            {
                SaveFileManager.LoadLayout(dlg.FileName, dashboardRoot.Children);
            }
        }
示例#25
0
        private void tsmiOpen_Click(object sender, EventArgs e)
        {
            var fbd = new FolderBrowserDialog();

            fbd.Description = "请选择游戏存档所在的文件夹,例如:\"D:\\Steam\\steamapps\\common\\The Scroll Of Taiwu\\The Scroll Of Taiwu Alpha V1.0_Data\\SaveFiles\"";
            if (fbd.ShowDialog() == DialogResult.OK)
            {
                _saveFileManager = new SaveFileManager(fbd.SelectedPath);
                LoadSaveFile();
                msChoose.Show();
            }
        }
示例#26
0
 private void LoadSaveFile() //TODO: эти методы тут не нужны.
 {
     playerData = SaveFileManager.Load();
     score      = playerData.totalScore;
     lastForm   = playerData.lastForm;
     diamonds   = playerData.diamonds;
     r          = playerData.r;
     g          = playerData.g;
     b          = playerData.b;
     LastLevel  = playerData.lastLevelPlayed;
     LevelStateDictionary.SetAllStates(playerData.levelOpenCloseDictionary);
     ColorStateDictionary.SetAllStates(playerData.colorOpenCloseDictionary);
 }
示例#27
0
 private static void OnStart()
 {
     //Я бы в норме так не стал делать, я бы написал коллекцию, куда все scriptableObjects регистрируют себя и уже оттуда бы брал значение,
     //но было сказано не делать лишнего, поэтому я и не стал так делать.
     IntegerValue[] integerValue = Resources.FindObjectsOfTypeAll <IntegerValue>();
     PlayerData            = SaveFileManager.Load();
     integerValue[0].Value = PlayerData.BallsTotalNumber;
     Application.quitting += () =>
     {
         PlayerData.BallsTotalNumber = integerValue[0];
         SaveFileManager.Save(PlayerData);
     };
 }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     //init network table and put test camera
     settings = SaveFileManager.LoadSettings();
     NetworkBinding.Initialize(settings.TeamNumber, Dispatcher, settings.UsingDriverStation);
     //NetworkTable.GetTable("").PutStringArray("CameraPublisher/Fake Camera 0/streams", new List<string>());
     treeUpdateTimer = new DispatcherTimer(DispatcherPriority.Background, Dispatcher)
     {
         Interval = TimeSpan.FromSeconds(0.1)
     };
     treeUpdateTimer.Tick += TreeUpdateTimer_Tick;
     treeUpdateTimer.Start();
 }
    public static void SaveFileData(SaveFileManager saveMgr)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/SaveFileNames.data";
        FileStream      stream    = new FileStream(path, FileMode.Create);

        FileData data = new FileData(saveMgr);

        formatter.Serialize(stream, data);

        Debug.Log("Data saved to file at " + path);

        stream.Close();
    }
示例#30
0
文件: LoadGame.cs 项目: xdaisy/osmose
 /// <summary>
 /// Continue the file
 /// </summary>
 /// <param name="file">Index of the file want to continue</param>
 public void ContinueFile(int file)
 {
     if (SaveFileManager.SaveExists(file))
     {
         // can continue if save file exists
         playClick();
         isContinue = true;
         fileToLoad = file;
         GameManager.Instance.OnMainMenu = false;
         SaveFileManager.Load(fileToLoad);
     }
     else
     {
         playNotAllowed();
     }
 }