예제 #1
0
        public void Equals_StationsWithDifferentIndex_False()
        {
            var station1 = new PumpStation(1, 2, 3);
            var station2 = new PumpStation(5, 3, 4);

            Assert.IsFalse(Equals(station1, station2));
        }
예제 #2
0
        public void Equals_StationsWithSameIndex_True()
        {
            var station1 = new PumpStation(1, 2, 3);
            var station2 = new PumpStation(1, 3, 4);

            Assert.IsTrue(Equals(station1, station2));
        }
예제 #3
0
 public Pump(PumpStation station, Point nw)
 {
     this.station = station;
     NW = nw;
     NE = new Point(nw.x + 1, nw.y);
     SW = new Point(nw.x, nw.y + 1);
     SE = new Point(nw.x + 1, nw.y + 1);
 }
예제 #4
0
    /// <summary>
    /// Synchronizes with the server, then calls run().
    /// </summary>
    /// <returns>
    /// Return true to end turn, false to resynchronize with the
    /// server and run again.
    /// </returns>
    public bool startTurn()
    {
        int count = 0;

        iteration++;

        count   = Client.getPlayerCount(connection);
        players = new Player[count];
        for (int i = 0; i < count; i++)
        {
            players[i] = new Player(Client.getPlayer(connection, i));
        }

        count     = Client.getMappableCount(connection);
        mappables = new Mappable[count];
        for (int i = 0; i < count; i++)
        {
            mappables[i] = new Mappable(Client.getMappable(connection, i));
        }

        count        = Client.getPumpStationCount(connection);
        pumpStations = new PumpStation[count];
        for (int i = 0; i < count; i++)
        {
            pumpStations[i] = new PumpStation(Client.getPumpStation(connection, i));
        }

        count = Client.getUnitCount(connection);
        units = new Unit[count];
        for (int i = 0; i < count; i++)
        {
            units[i] = new Unit(Client.getUnit(connection, i));
        }

        count = Client.getTileCount(connection);
        tiles = new Tile[count];
        for (int i = 0; i < count; i++)
        {
            tiles[i] = new Tile(Client.getTile(connection, i));
        }

        count     = Client.getUnitTypeCount(connection);
        unitTypes = new UnitType[count];
        for (int i = 0; i < count; i++)
        {
            unitTypes[i] = new UnitType(Client.getUnitType(connection, i));
        }

        if (!initialized)
        {
            initialized = true;
            init();
        }

        return(run());
    }
예제 #5
0
        public void Constructor_ValidParams_PropertiesAssignedCorrectly()
        {
            var station = new PumpStation(1, 2, 3);

            Assert.AreEqual(1, station.Index);
            Assert.AreEqual(2, station.Petrol);
            Assert.AreEqual(3, station.DistanceToNextStation);
            Assert.AreEqual(-1, station.PetrolAfterReachingNextStationFromHere);
            Assert.IsFalse(station.HasEnoughPetrolToReachNextStationFromHere);
        }
예제 #6
0
        private void St_Dead(PumpStation sender)
        {
            var ui = _pumpList.Find(x => x.LogicObj.Equals(sender));

            if (ui != null)
            {
                _pumpList.Remove(ui);
                Dispatcher.Invoke(() =>
                {
                    PumpsCanv.Children.Remove(ui.VisualElement);
                    PumpsCanv.Children.Add(_uiFactory.GetExplosion(((Image)ui.VisualElement).Margin));
                });
            }
        }
예제 #7
0
    /// <summary>
    /// Synchronizes with the server, then calls run().
    /// </summary>
    /// <returns>
    /// Return true to end turn, false to resynchronize with the 
    /// server and run again.
    /// </returns>
    public bool startTurn()
    {
        int count = 0;
        iteration++;

        count = Client.getPlayerCount(connection);
        players = new Player[count];
        for(int i = 0; i < count; i++)
          players[i] = new Player(Client.getPlayer(connection, i));

        count = Client.getMappableCount(connection);
        mappables = new Mappable[count];
        for(int i = 0; i < count; i++)
          mappables[i] = new Mappable(Client.getMappable(connection, i));

        count = Client.getPumpStationCount(connection);
        pumpStations = new PumpStation[count];
        for(int i = 0; i < count; i++)
          pumpStations[i] = new PumpStation(Client.getPumpStation(connection, i));

        count = Client.getUnitCount(connection);
        units = new Unit[count];
        for(int i = 0; i < count; i++)
          units[i] = new Unit(Client.getUnit(connection, i));

        count = Client.getTileCount(connection);
        tiles = new Tile[count];
        for(int i = 0; i < count; i++)
          tiles[i] = new Tile(Client.getTile(connection, i));

        count = Client.getUnitTypeCount(connection);
        unitTypes = new UnitType[count];
        for(int i = 0; i < count; i++)
          unitTypes[i] = new UnitType(Client.getUnitType(connection, i));

        if(!initialized)
        {
          initialized = true;
          init();
        }

        return run();
    }
예제 #8
0
 private void St_Broken(PumpStation sender)
 {
     ThreadPool.QueueUserWorkItem(FixFactory, sender);
 }
 public StationComponent(PumpStation _pumpStation, StationComponentTypeEnum _stationComponentType)
 {
     ComponentType = _stationComponentType;
     PumpStation   = _pumpStation;
 }