protected override void Execute(List <GameEntity> entities)
 {
     foreach (GameEntity gameEntity in entities)
     {
         if (!HasAlreadyCollected(gameEntity.collectableId.Value))
         {
             SaveDataEntity savedCollectable = Contexts.sharedInstance.saveData.CreateEntity();
             savedCollectable.isCollectable = true;
             savedCollectable.AddCollectableId(gameEntity.collectableId.Value);
         }
     }
 }
示例#2
0
        private bool TryGetBeatenLevelTime(int levelIndex, out SaveDataEntity saveDataEntity)
        {
            foreach (SaveDataEntity savedBeatenTime in _savedGameTimeGroup.GetEntities())
            {
                if (savedBeatenTime.levelIndex.Value == levelIndex)
                {
                    saveDataEntity = savedBeatenTime;
                    return(true);
                }
            }

            saveDataEntity = null;
            return(false);
        }
示例#3
0
        protected override void Execute(List <GameEntity> entities)
        {
            GameEntity currentLevelEntity = _currentLevelGroup.GetSingleEntity();

            foreach (SaveDataEntity savedLevelEntity in _beatenLevelGroup.GetEntities())
            {
                if (savedLevelEntity.levelIndex.Value == currentLevelEntity.levelIndex.Value)
                {
                    return;
                }
            }

            SaveDataEntity newSavedLevelEntity = Contexts.sharedInstance.saveData.CreateEntity();

            newSavedLevelEntity.isLevel = true;
            newSavedLevelEntity.AddLevelIndex(currentLevelEntity.levelIndex.Value);
        }
示例#4
0
        protected override void Execute(List <GameEntity> entities)
        {
            GameEntity currentLevel = _levelGroup.GetSingleEntity();
            GameEntity currentTime  = _gameTimeGroup.GetSingleEntity();

            if (currentLevel == null || currentTime == null)
            {
                return;
            }

            if (TryGetBeatenLevelTime(currentLevel.levelIndex.Value, out SaveDataEntity savedBeatenTime))
            {
                if (savedBeatenTime.gameTime.Value > currentTime.gameTime.Value)
                {
                    savedBeatenTime.ReplaceGameTime(currentTime.gameTime.Value);
                }
            }
            else
            {
                SaveDataEntity savedTime = Contexts.sharedInstance.saveData.CreateEntity();
                savedTime.AddGameTime(currentTime.gameTime.Value);
                savedTime.AddLevelIndex(currentLevel.levelIndex.Value);
            }
        }