示例#1
0
 public void Undo()
 {
     Access.Data <MancalaData>(ID).Undo();
     UnsortedBowls.SelectMany(x => x.StoneIDs).ForEach(x =>
     {
         Access.Data <StoneData>(x).Undo();
         Access.BodyData <StoneBodyData>(x).Undo();
     });
     UnsortedBowls.ForEach(x => Access.Data <BowlData>(x.ID).Undo());
 }
示例#2
0
 private void PrepForStateChange()
 {
     Access.Data <MancalaData>(ID).PrepForStateChange();
     UnsortedBowls.SelectMany(x => x.StoneIDs).ForEach(x =>
     {
         Access.Data <StoneData>(x).PrepForStateChange();
         Access.BodyData <StoneBodyData>(x).PrepForStateChange();
     });
     UnsortedBowls.ForEach(x => Access.Data <BowlData>(x.ID).PrepForStateChange());
 }
示例#3
0
    private void SaveCurrentGame()
    {
        if (GameResources.Game.IsGameOver)
        {
            PlayerPrefs.DeleteKey(GameResources.Plunder.GameType.ToString());
            return;
        }
        var save = new Save
        {
            StoneData       = GameResources.Game.UnsortedBowls.SelectMany(x => x.StoneIDs).Select(Access.Data <StoneData>).ToList(),
            BowlData        = GameResources.Game.UnsortedBowls.Select(x => Access.Data <BowlData>(x.ID)).ToList(),
            MancalaData     = Access.Data <MancalaData>(GameResources.Game.ID),
            StoneBodyData   = GameResources.Game.UnsortedBowls.SelectMany(x => x.StoneIDs).Select(Access.BodyData <StoneBodyData>).ToList(),
            PlunderData     = Access.Data <PlunderData>(GameResources.Plunder.ID),
            PlunderBodyData = Access.BodyData <PlunderBodyData>(GameResources.Plunder.ID),
            Queue           = GameResources.Queue.Save()
        };

        PlayerPrefs.SetString(GameResources.Plunder.GameType.ToString(), JsonSerializer.ToJsonString(save));
        PlayerPrefs.Save();
    }