public void EndGame() { foreach (KeyValuePair <int, PlayerEntity> keyValuePair in Players) { keyValuePair.Value.PlayerView.EndGame(); keyValuePair.Value.PlayerView.OnPlayerButtonClicked -= HandleClicked; keyValuePair.Value.PlayerModel.OnHealthChanged -= OnPlayerModelOnOnHealthChanged; keyValuePair.Value.PlayerModel.BuffCollector.BuffsCollector.Clear(); keyValuePair.Value.PlayerModel.BuffCollector.PlayerCharacteristics.Clear(); List <int> buffNums = keyValuePair.Value.PlayerModel.BuffCollector.BuffNums; if (buffNums != null) { buffNums.Clear(); } } Players.Clear(); _buffCollector.BuffsCollector.Clear(); _buffCollector.PlayerCharacteristics.Clear(); List <int> buffNums2 = _buffCollector.BuffNums; if (buffNums2 != null) { buffNums2.Clear(); } _gameController = null; _buffCollector = null; }
public CraftTable(IBuffCollector buffCollector, IConditionService conditionService, IRandomService randomService, ICalculator calculator, ILookupService lookupService, ICraftQualityCalculator craftQualityCalculator, Recipe recipe, CraftMan craftMan, IProgressWatcher progressWatcher = null) { if (recipe == null) { throw new ArgumentNullException(nameof(recipe)); } if (craftMan == null) { throw new ArgumentNullException(nameof(craftMan)); } if (buffCollector == null) { throw new ArgumentNullException(nameof(buffCollector)); } if (conditionService == null) { throw new ArgumentNullException(nameof(conditionService)); } if (randomService == null) { throw new ArgumentNullException(nameof(randomService)); } if (calculator == null) { throw new ArgumentNullException(nameof(calculator)); } if (lookupService == null) { throw new ArgumentNullException(nameof(lookupService)); } if (craftQualityCalculator == null) { throw new ArgumentNullException(nameof(craftQualityCalculator)); } _progressWatcher = progressWatcher ?? new DefaultProgressWatcher(); _buffCollector = buffCollector; _conditionService = conditionService; _craftMan = craftMan; _progressWatcher = progressWatcher ?? new DefaultProgressWatcher(); _randomService = randomService; _calculator = calculator; _lookupService = lookupService; _craftQualityCalculator = craftQualityCalculator; _recipe = recipe; _craftPointsLeft = craftMan.MaxCraftPoints; _durability = recipe.Durability; _condition = _conditionService.GetCondition(null); _quality = recipe.StartQuality; }
public void EndGame() { UnityEngine.Object.Destroy(_healthBar.gameObject); UnityEngine.Object.Destroy(_armorBar.gameObject); UnityEngine.Object.Destroy(_attackBar.gameObject); UnityEngine.Object.Destroy(_vampireBar.gameObject); List <StatReference> buffIcons = _buffIcons; if (buffIcons != null && buffIcons.Count > 0) { foreach (StatReference statReference in _buffIcons) { UnityEngine.Object.Destroy(statReference.gameObject); } _buffIcons.Clear(); } BuffCollector = null; }
public PlayerController(Dictionary <int, PlayerEntity> playerEntities, IGameController gameController) { Players = playerEntities; _gameController = gameController; foreach (KeyValuePair <int, PlayerEntity> keyValuePair in playerEntities) { keyValuePair.Value.PlayerView.PlayerID = keyValuePair.Value.PlayerModel.PlayerId; keyValuePair.Value.PlayerView.PlayerPanelHierarchy = keyValuePair.Value.PlayerModel.PlayerPanelHierarchy; _buffCollector = (keyValuePair.Value.PlayerModel.BuffCollector = new BuffCollector(_gameController)); keyValuePair.Value.PlayerView.Start(); SetDefaultCharacteristicsValue(keyValuePair.Value.PlayerModel); if (_gameController.TypeGame == TypeGame.GameWithBuffs) { _buffCollector.ApplyBuffsOnPlayer(keyValuePair.Value.PlayerModel, new Action <Dictionary <TypeCharacteristic, float>, IPlayerModel>(IncreasePlayerCharacteristicsValue)); } keyValuePair.Value.PlayerView.OnPlayerButtonClicked += HandleClicked; keyValuePair.Value.PlayerModel.OnHealthChanged += OnPlayerModelOnOnHealthChanged; } _gameController.OnGameRestart += EndGame; }