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); } } }
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); }
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); }
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); } }