コード例 #1
0
        protected ProxyBase(IServiceClient serviceClient, IModelUpdaterResolver modelUpdaterResolver)
        {
            this.ServiceClient        = serviceClient;
            this.ModelUpdaterResolver = modelUpdaterResolver;

            this.ServiceClient.MessageReceived += this.OnServiceClientMessageReceived;
        }
コード例 #2
0
        public UserProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableUser model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model            = model;
            this.inventoryProxies = new SerializableObservableCollection <IMageKnightModel>();
            this.armyProxies      = new SerializableObservableCollection <IMageKnightModel>();
            foreach (var mage in this.model.Inventory)
            {
                this.inventoryProxies.Add(new MageKnightProxy(serviceClient, modelUpdaterResolver, mage));
            }
            foreach (var mage in this.model.Army)
            {
                this.armyProxies.Add(new MageKnightProxy(serviceClient, modelUpdaterResolver, mage));
            }

            this.model.Inventory.CollectionChanged += Inventory_CollectionChanged;
            this.model.Army.CollectionChanged      += Army_CollectionChanged;

            this.SetUpModelPropertyChangedPropagation(this.model);

            this.SubscribeToMessage <UserChanged>(this.Handle);
            this.SubscribeToMessage <UserInventoryAdd>(this.Handle);
            this.SubscribeToMessage <UserAddedMageToArmy>(this.Handle);
            this.SubscribeToMessage <UserAddedMageToInventory>(this.Handle);
        }
コード例 #3
0
        public UserCollectionProxyFactory(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver)
        {
            this.serviceClient = serviceClient;

            this.modelUpdaterResolver = modelUpdaterResolver;
        }
コード例 #4
0
        public ClickProxyFactory(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver)
        {
            this.serviceClient = serviceClient;

            this.modelUpdaterResolver = modelUpdaterResolver;
        }
コード例 #5
0
        public StatProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableStat model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;

            this.SetUpModelPropertyChangedPropagation(this.model);
        }
コード例 #6
0
        public GameProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableGame model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;

            this.SetUpModelPropertyChangedPropagation(this.model);
            this.SubscribeToMessage <GameChanged>(this.Handle);
            this.SubscribeToMessage <GameJoined>(this.Handle);
            var query = this.ServiceClient.Query <UserQuery>();
        }
コード例 #7
0
        public MageKnightProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableMageKnight model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;

            this.SetUpModelPropertyChangedPropagation(this.model);

            this.SubscribeToMessage <MageKnightChanged>(this.Handle);

            this.SubscribeToMessage <MageKnightCoordinatesChanged>(this.Handle);
        }
コード例 #8
0
        public ClickProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableClick model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;
            this.stats = new SerializableObservableCollection <IStat>();

            foreach (var stat in this.model.Stats)
            {
                this.stats.Add(new StatProxy(serviceClient, modelUpdaterResolver, stat));
            }

            this.model.Stats.CollectionChanged += Users_CollectionChanged;

            this.SetUpModelPropertyChangedPropagation(this.model);
        }
コード例 #9
0
        /// <summary>
        /// The timer.
        /// </summary>
        //private ITimer timer;

        /// <summary>
        /// Initializes a new instance of the <see cref="SessionTimeProxy" /> class.
        /// </summary>
        /// <param name="serviceClient">The service client.</param>
        /// <param name="modelUpdaterResolver">The model updater resolver.</param>
        /// <param name="model">The model.</param>
        /// <param name="inComMode">If set to <c>true</c> [in COM mode].</param>
        public SessionTimeProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableSessionTime model,
            bool inComMode)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;

            this.SetUpModelPropertyChangedPropagation(this.model);

            if (!inComMode)
            {
                //this.timer = new SystemTimer { Interval = 1000 };
                //this.timer.Elapsed += this.Timer_Elapsed;
                //this.timer.Start();
            }

            this.SubscribeToMessage <SessionTimeChanged>(this.Handle);
        }
コード例 #10
0
        public DialProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableDial model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model  = model;
            this.clicks = new SerializableObservableCollection <IClick>();

            foreach (var click in this.model.Clicks)
            {
                this.clicks.Add(new ClickProxy(serviceClient, modelUpdaterResolver, click));
            }

            this.model.Clicks.CollectionChanged += Users_CollectionChanged;

            this.SetUpModelPropertyChangedPropagation(this.model);

            this.SubscribeToMessage <DialAdd>(this.Handle);
        }
コード例 #11
0
        public ClickProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableClick model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model = model;
            this.users = new SerializableObservableCollection <IUserModel>();

            foreach (var dude in this.model.Users)
            {
                this.users.Add(new UserProxy(serviceClient, modelUpdaterResolver, dude));
            }

            this.model.Users.CollectionChanged += Users_CollectionChanged;

            this.SetUpModelPropertyChangedPropagation(this.model);

            this.SubscribeToMessage <ClickAdd>(this.Handle);
        }
コード例 #12
0
        public GamesProxy(
            IServiceClient serviceClient,
            IModelUpdaterResolver modelUpdaterResolver,
            IUpdatableGames model)
            : base(serviceClient, modelUpdaterResolver)
        {
            this.model        = model;
            this.gamesProxies = new SerializableObservableCollection <IGameModel>();

            foreach (var game in this.model.Games)
            {
                this.gamesProxies.Add(new GameProxy(serviceClient, modelUpdaterResolver, game));
            }

            this.SetUpModelPropertyChangedPropagation(this.model);

            this.SubscribeToMessage <GameHosted>(this.Handle);
            this.SubscribeToMessage <GamesChanged>(this.Handle);
            this.model.Games.CollectionChanged += Games_CollectionChanged;
        }
コード例 #13
0
 public UserCollectionAddedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #14
0
 public UserBoosterPackCountChangedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #15
0
 public GameJoinedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #16
0
 public UserSelectedMageChangedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #17
0
 public MageKnightChangedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SessionTimeChangedHandler" /> class.
 /// </summary>
 /// <param name="modelUpdaterResolver">The model updater resolver.</param>
 public SessionTimeChangedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #19
0
 public UserSignInHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServerMessageHandlerBase{TMessage,TQuery,TQueryComponent}" /> class.
 /// </summary>
 /// <param name="modelUpdaterResolver">The model updater resolver.</param>
 protected ServerMessageHandlerBase(IModelUpdaterResolver modelUpdaterResolver)
 {
     this.modelUpdaterResolver = modelUpdaterResolver;
 }
コード例 #21
0
 public UserArmyAddHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #22
0
 public UserInventoryAddHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #23
0
 public DialAddedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #24
0
 public UserChangedHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }
コード例 #25
0
 public UserAddedMageToInventoryHandler(IModelUpdaterResolver modelUpdaterResolver) : base(modelUpdaterResolver)
 {
 }