コード例 #1
0
    // Load the level and give it to the level manager
    public void LoadLevel(bool wipePlayerData, bool loadFromSaveFile)
    {
        if (loadFromSaveFile)
        {
            var currentLevel = GameDataSerializer.LoadGame();
            GameStateMachine.CurrentLevel = currentLevel;
        }
        else if (wipePlayerData)
        {
            // Wipe player data if desired
            playerStats.Reset();
        }

        Level level;

        if (GameStateMachine.CurrentLevel == GameStateMachine.Level.Boss)
        {
            level = levelGenerator.BossLevel();
        }
        else
        {
            level = levelGenerator.GenerateLevel();
        }

        levelManager.AcceptLevel(level);

        levelManager.LoadCurrentRoom();
        levelManager.RenderCurrentRoom();
    }
コード例 #2
0
 //// GET api/puzzlegame
 //public IEnumerable<string> Get()
 //{
 //    return new string[] { "value1", "value2" };
 //}
 // GET api/puzzlegame/5
 public string Get()
 {
     var gameDataSerializer = new GameDataSerializer();
     var resultTask = gameDataSerializer.GetPuzzleGroupJson();
     var result = resultTask.Result;
     return result;
 }
コード例 #3
0
ファイル: StartMenu.cs プロジェクト: sbhornjr/Lucid
 private void Start()
 {
     if (!GameDataSerializer.HasSaveData())
     {
         continueButton.interactable = false;
     }
 }
コード例 #4
0
ファイル: ScoreBox.cs プロジェクト: eg0nSpengler/UnityTank3D
    void UpdateScoreText()
    {
        var gmData = GameDataSerializer.LoadGameData(LevelManager.GetLevelNum());

        if (gmData != null)
        {
            _score.text = gmData.playerScore.ToString();
        }
    }
コード例 #5
0
    private void TallyScore()
    {
        var end    = GameDataSerializer._gameDataList.Count - 1;
        var gmData = GameDataSerializer.LoadGameData(end);

        PlayerScore        = NumPickupsCollected * 10000;
        gmData.playerScore = PlayerScore;

        Debug.Log("The final score is " + PlayerScore.ToString());
        Debug.Log("The player has collected " + NumPickupsCollected.ToString() + " pickups");
    }
コード例 #6
0
ファイル: EntityManager.cs プロジェクト: sbhornjr/Lucid
    /// <summary>
    /// Await player input. Returns true when valid input is received.
    /// </summary>
    private bool StateWaitingForPlayer()
    {
        if (Input.GetKey(KeyCode.W))
        {
            return(HandleMovement(Direction.S));
        }
        else if (Input.GetKey(KeyCode.A))
        {
            return(HandleMovement(Direction.W));
        }
        else if (Input.GetKey(KeyCode.S))
        {
            return(HandleMovement(Direction.N));
        }
        else if (Input.GetKey(KeyCode.D))
        {
            return(HandleMovement(Direction.E));
        }
        else if (Input.GetKeyUp(KeyCode.Q))
        {
            HandleRotation(RotateDirection.Left);
        }
        else if (Input.GetKeyUp(KeyCode.E))
        {
            HandleRotation(RotateDirection.Right);
        }
        else if (Input.GetKeyUp(KeyCode.F))
        {
            return(HandleInteraction());
        }
        else if (Input.GetKeyDown(KeyCode.Escape))
        {
            menuUI       = pauseMenu;
            currentState = MovementStates.PlayerInMenu;
            pauseMenu.SetActive(true);
        }
        else if (Input.GetKeyUp(KeyCode.P))
        {
            GameDataSerializer.SaveGame();
            Debug.Log("Game Saved!");
        }
        else if (Input.GetKeyDown(KeyCode.LeftShift))
        {
            playerMovement.AcceptNextIndex(playerMovement.Index);
            currentState = MovementStates.MovingPlayer;
            return(true);
        }

        return(false);
    }
コード例 #7
0
ファイル: Form1.cs プロジェクト: Sweeper777/TheElements2048
 public GameWindow()
 {
     InitializeComponent();
     try
     {
         highscore = GameDataSerializer <int> .Deserialize("TheElements2048");
     }
     catch (FileNotFoundException)
     {
     }
     lblBestValue.Text = highscore.ToString();
     NewGame();
     //Game.CreateNewGame (this.panel1, Current_ScoreChanged, Current_HighscoreChanged, this.lblBestValue);
 }
コード例 #8
0
    private void Awake()
    {
        _pickupList     = new List <GameObject>();
        _pickupPosList  = new List <Vector3>();
        _pickupBoolList = new List <bool>();

        NumPickupsCollected = 0;
        NumPickupsLost      = 0;
        LastCollectedPos    = new Vector3(0.0f, 0.0f, 0.0f);
        LastPickupBool      = false;

        var end    = GameDataSerializer._gameDataList.Count - 1;
        var gmData = GameDataSerializer.LoadGameData(end);

        if (gmData.playerScore > 0)
        {
            PlayerScore = gmData.playerScore;
        }
        else
        {
            PlayerScore = 0;
        }

        foreach (var obj in FindObjectsOfType <GameObject>())
        {
            if (obj.tag == TagStatics.GetPickupTag())
            {
                _pickupPosList.Add(obj.transform.position);
                _pickupList.Add(obj);
                obj.GetComponent <SphereHandler>().OnPickupCollectedEvent += UpdatePickupList;
            }
        }

        NumPickupsInLevel = _pickupList.Count;

        if (_pickupList.Count <= 0)
        {
            Debug.LogWarning("PickupManager didn't find any valid pickups within the current level");
            Debug.LogWarning("Did you forget to tag any Pickup prefab instances in the scene as Pickup?");
        }


        Debug.Log("Pickup list contains " + _pickupList.Count + " pickups");
    }
コード例 #9
0
ファイル: Form1.cs プロジェクト: Sweeper777/TheElements2048
        void OnMoveComplete()
        {
            if (isMoving)
            {
                isMoving = false;
                game.SpawnNewElement();
                Redraw();
                lblScoreValue.Text = game.Score.ToString();
                animations.Clear();
                if (IsGameOver())
                {
                    MessageBox.Show("Game Over!", "The Elements 2048");

                    if (game.Score > highscore)
                    {
                        highscore = game.Score;
                        GameDataSerializer <int> .Serialize(highscore, "TheElements2048");

                        lblBestValue.Text = highscore.ToString();
                    }
                }
            }
        }
コード例 #10
0
ファイル: PlayerControler.cs プロジェクト: eldroan/PhotonTest
    // Update is called once per frame
    void Update()
    {
        if (isMyTurn)
        {
            if (Input.GetKeyDown(KeyCode.A))
            {
                pv.RPC("RPC_PressButton", RpcTarget.All, nick, "A");
                pv.RPC("RPC_SharedData", RpcTarget.Others, GameDataSerializer.Serialize(myData));
                isMyTurn = false;
            }
            else if (Input.GetKeyDown(KeyCode.S))
            {
                pv.RPC("RPC_PressButton", RpcTarget.All, nick, "S");
                pv.RPC("RPC_SharedData", RpcTarget.Others, GameDataSerializer.Serialize(myData));

                isMyTurn = false;
            }
        }


        esMiTurno.text = isMyTurn ? "SI" : "NO";
        minick.text    = nick.ToString();
    }
コード例 #11
0
ファイル: TankActor.cs プロジェクト: eg0nSpengler/UnityTank3D
 public void SaveTankData()
 {
     GameDataSerializer.SaveGameData(this);
 }
コード例 #12
0
 // Start is called before the first frame update
 void Start()
 {
     _txt.text += " " + GameDataSerializer.LoadGameData(LevelManager.GetLevelNum()).numPickupsLost;
 }
コード例 #13
0
ファイル: SaveMenu.cs プロジェクト: sbhornjr/Lucid
 public void SaveGame()
 {
     GameDataSerializer.SaveGame();
     done = true;
 }
コード例 #14
0
ファイル: PlayerControler.cs プロジェクト: eldroan/PhotonTest
 private void RPC_SharedData(string jsonDataReceived)
 {
     myData = GameDataSerializer.DeSerialize(jsonDataReceived);
 }