Esempio n. 1
0
        /// <summary>
        /// Замена конструктора, процедура инициализации компонента отображения
        /// </summary>
        /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param>
        /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param>
        public override void InitAndLink(ViewProviderComponent parModelSideProviderComponent,
                                         ViewEventsOpenTkHandler parLinkedEventsHandler)
        {
            base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler);
            _modelProviderComponent = (PocketGameViewProvider)parModelSideProviderComponent;

            _choosingShotAnimationInfobar =
                new PlayableAnimationObject(ActualSubassetsDataLibrary.GetAnimation(ANIM_INFOBAR_SHOT));

            _choosingShotPlayerCueAnimation =
                new PlayableAnimationObject(ActualSubassetsDataLibrary.GetAnimation(SHOT_HAND_CUE_ANIM));
        }
Esempio n. 2
0
        /// <summary>
        /// Осуществляет старт игрового уровня
        /// </summary>
        /// <param name="parLevel">Данные об игровом уровне</param>
        public void StartLevel(GameLevel parLevel)
        {
            _currentLevelGameObject = ActualLinkedObjectPoolSupportData.LinkedPoolManager
                                      .GetObject <GameObject>(typeof(GameObject)).Init(ParentGameObject.LinkedAppModel);

            _currentPocketViewProvider = ActualLinkedObjectPoolSupportData.LinkedPoolManager
                                         .GetObject <PocketGameViewProvider>(typeof(PocketGameViewProvider))
                                         .Init(_currentLevelGameObject, parLevel.ActualLevelLevelConfig, _actualPlayer);

            _currentPocketViewProvider.GameLevelEnd += OnGameLevelEnd;

            _startingLevel = parLevel;

            _currentPocketViewProvider.StartGameLevel();
        }