Beispiel #1
0
 public GameProcessor(Client client, Connection connection)
 {
     this.client             = client;
     this.connection         = connection;
     this.entityUpdater      = new EntityUpdater(client);
     this.stringTableUpdater = new StringTableUpdater();
 }
Beispiel #2
0
 public DotaGame(DotaGameState state, DotaGameConnection connection)
 {
     this.state         = state;
     this.connection    = connection;
     entityUpdater      = new EntityUpdater(state);
     stringTableUpdater = new StringTableUpdater();
 }
Beispiel #3
0
        public void TestJoin()
        {
            using (IDatabaseAdapter adapter = new DatabaseAdapter(m_Connection))
            {
                CountryEntity country = new CountryEntity();
                country.Name = "Switzerland";

                EntityUpdater insert = new EntityUpdater(country, UpdateAction.Insert);
                adapter.CommitEntity <CountryEntity>(ref insert);

                CheeseEntity emental = new CheeseEntity();
                emental.Name      = "Emmental";
                emental.CountryID = country.CountryID;

                insert = new EntityUpdater(emental, UpdateAction.Insert);
                adapter.CommitEntity <CheeseEntity>(ref insert);
                adapter.CommitEntity <CheeseEntity>(ref insert);
                adapter.CommitEntity <CheeseEntity>(ref insert);

                CheeseEntity[] swissCheese = adapter.FetchEntities <CheeseEntity>(
                    new EntityFetcher <CheeseEntity>(CountryEntity.CountryEntityFields.CountryID == country.CountryID)
                    .AddJoinPath(CheeseEntity.CheeseEntityFields.CountryID.Join(JoinType.Inner, CountryEntity.CountryEntityFields.CountryID)));

                Assert.GreaterOrEqual(swissCheese.Length, 3);
            }
        }
Beispiel #4
0
        /// <summary>
        /// This Operation is called, when the module shall initialize itself.
        /// </summary>
        /// <param name="typeRegistry">The type registry for service requests or registrations.</param>
        /// <inheritdoc/>
        public void Initialize(ITypeRegistry typeRegistry)
        {
            var modelBuilderFactory    = typeRegistry.GetObject <IModelBuilderFactory>();
            var dataTypeRegistry       = typeRegistry.GetObject <IDataTypeRegistry>();
            var modelItemNamingService = typeRegistry.GetObject <IModelItemNamingService>();
            var odataObjectFactory     = typeRegistry.GetObject <IODataObjectFactory>();

            var structuralPropertyBinder = new StructuralPropertyBinder();
            var navigationPropertyBinder = new NavigationPropertyBinder();

            var entityReader    = new EntityReader();
            var referenceParser = new ReferenceParser(entityReader);
            var uncontainedNavigationPropertyParser = new UncontainedNavigationPropertyParser(referenceParser);
            var dependencyResolver = new DependencyResolver(uncontainedNavigationPropertyParser);

            var entityCreator = new EntityCreator(
                structuralPropertyBinder,
                navigationPropertyBinder,
                uncontainedNavigationPropertyParser,
                dependencyResolver);

            var entityUpdater = new EntityUpdater(structuralPropertyBinder, navigationPropertyBinder, uncontainedNavigationPropertyParser);

            uncontainedNavigationPropertyParser.SetUncontainedEntitiesFactory(entityCreator.CreateInUncontainedNavigationProperty);

            typeRegistry.RegisterInstance <IBindableModelBuilderFactory>(new BindableModelBuilderFactory(modelBuilderFactory));
            typeRegistry.RegisterInstance <IEntityCreator>(entityCreator);
            typeRegistry.RegisterInstance <IEntityReader>(entityReader);
            typeRegistry.RegisterInstance <IEntityUpdater>(entityUpdater);
            typeRegistry.RegisterInstance <IFactonQueryService>(CreateQueryService(typeRegistry));
            typeRegistry.RegisterInstance <IStructuralPropertyFactory>(new StructuralPropertyFactory(dataTypeRegistry, modelItemNamingService));
            typeRegistry.RegisterInstance <IODataEntityDtoBuilderFactory>(new ODataEntityDtoBuilderFactory(odataObjectFactory));
        }
Beispiel #5
0
 public TestPersistenceManager(
     EntityUpdater entityUpdater,
     ISaveWorkStateFactory saveWorkStateFactory,
     IModelSaveValidatorProvider modelSaveValidatorProvider)
     : base(entityUpdater, saveWorkStateFactory, modelSaveValidatorProvider)
 {
 }
        public ActiveEntity(bool isInCameraWorld, int RenderLayer)
        {
            InCameraWorld = isInCameraWorld;

            CurrentRenderLayer = RenderLayer;

            EntityUpdater.AddToEntityUpdater(this);
        }
Beispiel #7
0
        public ActiveEntity(bool IsClickable, bool isInCameraWorld)
        {
            Clickable = IsClickable;

            InCameraWorld = isInCameraWorld;

            EntityUpdater.AddToEntityUpdater(this);
        }
Beispiel #8
0
 public SignonProcessor(Client client, Connection connection)
 {
     this.client             = client;
     this.connection         = connection;
     this.entityUpdater      = new EntityUpdater(client);
     this.sendTableFlattener = new SendTableFlattener();
     this.stringTableUpdater = new StringTableUpdater();
 }
Beispiel #9
0
 public NorthwindPersistenceManager(
     EntityUpdater entityUpdater,
     ISaveWorkStateFactory saveWorkStateFactory,
     IModelSaveValidatorProvider modelSaveValidatorProvider,
     BreezeEntityValidator breezeEntityValidator,
     ISession session)
     : base(entityUpdater, saveWorkStateFactory, modelSaveValidatorProvider, breezeEntityValidator, session)
 {
 }
Beispiel #10
0
 /// <summary>
 ///     Initialize the signon handler.
 /// </summary>
 /// <param name="state"></param>
 /// <param name="connection"></param>
 public DotaSignon(DotaGameState state, DotaGameConnection connection, DOTAConnectDetails details)
 {
     this.state         = state;
     this.details       = details;
     this.connection    = connection;
     entityUpdater      = new EntityUpdater(state);
     sendTableFlattener = new SendTableFlattener();
     stringTableUpdater = new StringTableUpdater();
 }
        public virtual void SaveModel(TModel model)
        {
            IDbContextReflector     reflector        = new DbContextReflector(DbContext, "RecordLabel.Data.Models", "ReleaseData");
            IEntityUpdater          scalarUpdater    = new ScalarPropertyUpdater(DbContext, reflector);
            EntityComparerByKeys    entityComparer   = new EntityComparerByNonForeignKeys();
            ICollectionMerger       collectionMerger = new CollectionMerger(entityComparer);
            IRecursiveEntityUpdater updater          = new EntityUpdater(DbContext, reflector, scalarUpdater, collectionMerger);
            IRecursiveEntityUpdater navUpdater       = new NavigationPropertyUpdater(DbContext, scalarUpdater, reflector);

            updater.UpdateEntity <TModel>(model, navUpdater);
        }
Beispiel #12
0
        /// <summary>
        ///     Updates the properties of the specified entity contained by the table.
        /// </summary>
        /// <param name="key">
        ///     The primary key of the entity to be updated.
        /// </param>
        /// <param name="entity">
        ///     An entity that contains the new property values.
        /// </param>
        /// <param name="entity">
        ///     The transaction within which the update operation is executed.
        /// </param>
        public void Update(TPrimaryKey key, TEntity entity, Transaction transaction)
        {
            var updater = new EntityUpdater <TEntity>(entity);
            var query   = this.CreateQuery(key);

            var updated = this.Update(query, updater, transaction).SingleOrDefault();

            if (updated != null)
            {
                this.EntityService.CloneProperties(updated, entity);
            }
        }
Beispiel #13
0
        public async Task EntityUpdaterTest()
        {
            var model = new OrderQuantityBindingModel()
            {
                Quantity = 100
            };
            var updater = new EntityUpdater <OrderQuantityBindingModel, Order>(_db.Object);
            var order   = await updater.UpdateAsync(1, model);

            Assert.NotNull(order);
            Assert.Equal(model.Quantity, order.Quantity);
        }
Beispiel #14
0
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            CameraSystem.Move(-1, 0);

            EntityUpdater.Update(gameTime);

            base.Update(gameTime);
        }
Beispiel #15
0
        public void TestInsert()
        {
            CheeseEntity entity = new CheeseEntity();

            entity.Name = "Emental";

            using (IDatabaseAdapter adapter = new DatabaseAdapter(m_Connection))
            {
                EntityUpdater insert = new EntityUpdater(entity, UpdateAction.Insert);
                adapter.CommitEntity <CheeseEntity>(ref insert);
            }

            Assert.Greater(entity.CheeseID, 0);
        }
Beispiel #16
0
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            Debugger.AddDebug(GameStateManager.CurrentGameState.ToString());

            GameKeybaord.Update(gameTime);

            EntityUpdater.Update(gameTime);

            base.Update(gameTime);
        }
        public BoardAbstract(int width, int height, JFrame frame)
        {
            currentState = updatingState;

            B_WIDTH   = width;
            B_HEIGHT  = height;
            mainFrame = frame;

            console = new Console(20, B_HEIGHT - 200, this);
            //slidingMessageQueue = new ConcurrentHashMap<>();
            slidingMessageQueue = new ArrayList <>();
            frame.addMouseWheelListener(this);
            frame.addKeyListener(this);

            /*  editorPanel = new EditorPanel(this);
             * editorPanel.setSize(new Dimension(240, 300));
             * editorPanel.setPreferredSize(new Dimension(240, 300));*/
        }
Beispiel #18
0
        internal DataUpdater()
        {
            _parsers = new List <Parser>
            {
                new WeekendInfoParser(),
                new DriverInfoParser(this),
                new SessionInfoParser(this),
                new QualiSessionParser(),
                new CameraParser()
            };

            _sessionTimeUpdater   = new SessionTimeUpdater(this);
            _sessionStateUpdater  = new SessionStateUpdater(this);
            _sessionFlagUpdater   = new SessionFlagUpdater(this);
            _cameraUpdater        = new CameraUpdater(this);
            _radioUpdater         = new RadioUpdater(this);
            _entityUpdater        = new EntityUpdater(this);
            _entityResultsUpdater = new EntityResultsUpdater(this);
        }
Beispiel #19
0
        public void TestDelete()
        {
            TestInsert();

            using (IDatabaseAdapter adapter = new DatabaseAdapter(m_Connection))
            {
                CheeseEntity[] cheeses = adapter.FetchEntities(
                    new EntityFetcher <CheeseEntity>(CheeseEntity.CheeseEntityFields.Name == "Emental"));

                Assert.Greater(cheeses.Length, 0, "No cheese to get rid of!");

                Array.ForEach(cheeses, delegate(CheeseEntity item)
                {
                    EntityUpdater delete = new EntityUpdater(item, UpdateAction.Delete);
                    adapter.CommitEntity <CheeseEntity>(ref delete);
                });

                cheeses = adapter.FetchEntities(
                    new EntityFetcher <CheeseEntity>(CheeseEntity.CheeseEntityFields.Name == "Emental"));
                Assert.AreEqual(cheeses.Length, 0, "We didn't get rid of every cheese!");
            }
        }
 public EntityUpdaterTests()
 {
     _mockLogger  = new Mock <ILogger <EntityUpdater> >();
     _jsonOptions = CreateJsonOptions();
     _sut         = new EntityUpdater(_mockLogger.Object);
 }
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();
            IsMouseVisible = true;

            var worldSpriteBatch = new SpriteBatchProxy(new SpriteBatch(GraphicsDevice));
            var hudSpriteBatch = new SpriteBatchProxy(new SpriteBatch(GraphicsDevice));
            _world = new World(Vector2.Zero);
            var physicsUpdater = new WorldUpdateableAdapter(_world);
            var controllersProcessor = new EntityProcessor<IController>();
            var controllersUpdater = new EntityUpdater<IController>(controllersProcessor);
            var modelsProcessor = new EntityProcessor<IModel>();
            var modelsUpdater = new EntityUpdater<IModel>(modelsProcessor);
            var viewsProcessor = new EntityProcessor<IView>();
            var viewsUpdater = new EntityUpdater<IView>(viewsProcessor);

            var worldMapViewProcessor = new EntityProcessor<IView>();
            var worldCharacterViewProcessor = new EntityProcessor<IView>();

            var worldViewCamera = new Camera(worldSpriteBatch) { ViewProcessors = new[] { worldMapViewProcessor, worldCharacterViewProcessor } };
            var hudViewCamera = new Camera(hudSpriteBatch);
            var updateStepMultiplexer = new UpdationMultiplexer { Updateables = { controllersUpdater, modelsUpdater, physicsUpdater, } };
            var drawMultiplexer = new DrawingMultiplexer { Drawables = { worldViewCamera, hudViewCamera } };
            _screen = new GameStateAdapter { UpdateStepUpdateable = updateStepMultiplexer, DrawStepUpdateable = viewsUpdater, Drawable = drawMultiplexer };

            var map = Content.Load<Map>("01");
            //добавить мапу как вьюху
            var mapView = new MapView(map);
            worldMapViewProcessor.Collect(mapView);

            //добавить стены в мир
            var wallBody = new Body(_world, Vector2.Zero);
            var verticesArrays = map.ObjectLayers["walls"].MapObjects
                .Select(mapObject => new Vertices(mapObject.Polyline.Points.Select(p => new Vector2(p.X/10f, p.Y/10f))));
            foreach (var vertices in verticesArrays)
                FixtureFactory.AttachChainShape(vertices, wallBody);

            //добавить танки как полноценные тройки MVC
            var bodyTexture = Content.Load<Texture2D>("body");
            var towerTexture = Content.Load<Texture2D>("tower");
            var bulletTexture = Content.Load<Texture2D>("bullet");

            IBulletModelFactory bulletModelFactory = new BulletModelFactory(_world);
            IBulletViewFactory bulletViewFactory = new BulletViewFactory(bulletTexture);
            IBulletSpawner bulletSpawner = new BulletSpawner(modelsProcessor, viewsProcessor, worldCharacterViewProcessor, bulletModelFactory, bulletViewFactory);

            ITankTowerFactory tankTowerFactory = new TankTowerFactory(bulletSpawner);
            ITankModelFactory tankModelFactory = new TankModelFactory(_world, tankTowerFactory);
            ITankViewFactory tankViewFactory = new TankViewFactory(bodyTexture, towerTexture);
            ITankControllerFactory tankUserControllerFactory = new TankUserControllerFactory();
            ITankControllerFactory tankEnemyControllerFactory = new TankEnemyControllerFactory();

            ITankSpawner userTankSpawner = new TankSpawner(modelsProcessor, controllersProcessor, viewsProcessor, worldCharacterViewProcessor, tankModelFactory, tankViewFactory, tankUserControllerFactory);
            ITankSpawner enemyTankSpawner = new TankSpawner(modelsProcessor, controllersProcessor, viewsProcessor, worldCharacterViewProcessor, tankModelFactory, tankViewFactory, tankEnemyControllerFactory);

            foreach (var mapObject in map.ObjectLayers["entities"].MapObjects)
            {
                var position = new Vector2(mapObject.Bounds.X/10f, mapObject.Bounds.Y/10f);
                var rotation = 0;
                switch (mapObject.Type)
                {
                    case "Player":
                        userTankSpawner.Spawn(position, rotation);
                        break;
                    case "Enemy":
                        enemyTankSpawner.Spawn(position, rotation);
                        break;
                }
            }

            foreach (var mapObject in map.ObjectLayers["triggers"].MapObjects)
            {
                if (mapObject.Type == "VictoryPoint")
                {
                    var body = new Body(_world, Vector2.Zero) { IsSensor = true };
                    FixtureFactory.AttachPolygon(new Vertices(mapObject.Polygon.Points.Select(p => new Vector2(p.X/10f, p.Y/10f))), 1, body);
                    body.OnCollision += (a, b, contact) => { Exit(); return false; };
                }
            }
        }