Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
 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;
 }