예제 #1
0
 public Game()
 {
     started = false;
     players = new WebSocket[2];
     viewers = new List<WebSocket>();
     field = new Field(this);
     buffer = new ChangesBuffer(this);
     Forts = new byte[2]{ 2, 2 };
     blocks = new Block[2]{ null, null };
     inask = new Cord[2]{ new Cord(), new Cord() };
     phase = PhaseType.Displacing;
     player = 0;
 }
        public void InitializeWorkers()
        {
            ChangesBuffer buffer = new ChangesBuffer();

            List <IWorker> workers = new List <IWorker>();

            workers.Add(new Monitor(buffer, _conf.GetMonitorSettings()));
            workers.Add(new ChangeHandler(buffer, _repo));
            workers.Add(new FileStateSender(_repo));
            //TODO: add Sender Worker

            _workers = workers;
        }
예제 #3
0
        void IVirtualEndpoint.ApplyModelChanges(ChangesBuffer changes)
        {
            foreach (var change in changes)
            {
                switch (change.Change)
                {
                case ModelChange.Added:
                    applyObjectAdded(change);
                    break;

                case ModelChange.Modified:
                    applyObjectModified(change);
                    break;

                case ModelChange.Removed:
                    applyObjectRemoved(change);
                    break;

                default:
                    throw new InvalidOperationException();
                }
            }
        }