/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public override void InitAndLink(ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler); _modelProviderComponent = (RecordsMenuControlComponent)parModelSideProviderComponent; _modelProviderComponent.OnBecomeActive += OnActivatedPerform; _modelProviderComponent.OnDeactivated += OnDeactivatedPerform; }
/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public override void InitAndLink(ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler); _modelProviderComponent = (SinglePlayerLobbyMenuControlComponent)parModelSideProviderComponent; _modelProviderComponent.OnBecomeActive += OnActivatedPerform; _modelProviderComponent.OnDeactivated += OnDeactivatedPerform; _modelProviderComponent.TransitionToTheGameStageStarted += ProcessTransitionToTheGameStageViaBlackScreen; }
/// <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)); }
/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public override void InitAndLink( ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler); _modelProviderComponent = (IntroViewProviderComponent)parModelSideProviderComponent; _currentAnimSheetIndex = ANIM_NAME_INTRO_CUTSCENE_INDEX_FROM; // TODO null setting is not nessesary _currentSpriteRenderingData = null; _introCutsceneAnimation = null; ProcessNextAnimationSheet(); }
/// <summary> /// Действия при удалении компонента на стороне модели /// </summary> /// <param name="parTargetComponent">Компонент на стороне модели</param> public void OnComponentRemoved(ViewProviderComponent parTargetComponent) { ViewRenderableComponent targetRenderableComponent = _activeRenderableComponents[parTargetComponent]; if (targetRenderableComponent.IsUpdatable()) { _updatableRenderableComponents.Remove(targetRenderableComponent); } targetRenderableComponent.DisableAndSendToPool(); _activeRenderableComponents.Remove(parTargetComponent); RendereringDataWasUpdatedFlag = true; }
/// <summary> /// Действия при создании компонента на стороне модели /// </summary> /// <param name="parTargetComponent">Компонент на стороне модели</param> public void OnComponentCreated(ViewProviderComponent parTargetComponent) { CheckSubassetsDataLibrary(); Type renderableComponentType = TypesLinker.GetLinkedViewComponentType(parTargetComponent.GetType()); ViewRenderableComponent newRenderableComponent = (ViewRenderableComponent)OpenTkViewComponentsPoolManager.GetObject(renderableComponentType); _activeRenderableComponents.Add(parTargetComponent, newRenderableComponent); if (newRenderableComponent.IsUpdatable()) { _updatableRenderableComponents.Add(newRenderableComponent); } newRenderableComponent.InitAndLink(parTargetComponent, this); newRenderableComponent.UpdateRenderingData(); RendereringDataWasUpdatedFlag = true; }
/// <summary> /// Получение сообщения об обновлении компонента /// </summary> /// <param name="parTargetComponent">Обновленный компонент</param> public abstract void ReceiveNotificationUpdated(ViewProviderComponent parTargetComponent);
/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public virtual void InitAndLink( ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { ActualSubassetsDataLibrary = parLinkedEventsHandler.ActualSubassetsDataLibrary; LinkedViewEventsHandler = parLinkedEventsHandler; }
/// <summary> /// Получение сообщения об обновлении компонента /// </summary> /// <param name="parTargetComponent">Обновленный компонент</param> public override void ReceiveNotificationUpdated(ViewProviderComponent parTargetComponent) { ActualViewEventsHandler.OnComponentUpdated(parTargetComponent); }
/// <summary> /// Действия при обновлении компонента на стороне модели /// </summary> /// <param name="parTargetComponent">Компонент на стороне модели</param> public void OnComponentUpdated(ViewProviderComponent parTargetComponent) { _activeRenderableComponents[parTargetComponent].UpdateRenderingData(); RendereringDataWasUpdatedFlag = true; }
/// <summary> /// Отправить сообщение об обновлении компонента /// </summary> /// <param name="parColleague">Целевой "сотрудник"</param> /// <param name="parTargetComponent">Обновленный компонент</param> public void SendUpdatedNotification(ViewProviderColleague parColleague, ViewProviderComponent parTargetComponent) { parColleague.ReceiveNotificationUpdated(parTargetComponent); }
/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public override void InitAndLink(ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler); }
/// <summary> /// Замена конструктора, процедура инициализации компонента отображения /// </summary> /// <param name="parModelSideProviderComponent">Связанный компонент на стороне модели</param> /// <param name="parLinkedEventsHandler">Связанный обработчик событий отображения</param> public override void InitAndLink(ViewProviderComponent parModelSideProviderComponent, ViewEventsOpenTkHandler parLinkedEventsHandler) { base.InitAndLink(parModelSideProviderComponent, parLinkedEventsHandler); _modelSideComponent = (ResultsScreenComponent)parModelSideProviderComponent; }
/// <summary> /// Получение сообщения об обновлении компонента (не используется в текущей версии, но необходимо в будущем) /// </summary> /// <param name="parTargetComponent">Обновленный компонент</param> public override void ReceiveNotificationUpdated(ViewProviderComponent parTargetComponent) { throw new System.NotImplementedException("This feature is not supported in this version"); }