Exemplo n.º 1
0
 public void RemoveInitialUnit(IntVector2 tileCoords, UnitDataReference unitDataReference)
 {
     TileMetadata.TileMetadata tileMetadata = GetTileMetadata(tileCoords);
     tileMetadata.units.RemoveAll(x => x.UnitIndex == unitDataReference.UnitIndex);
     _unitRemovedSubject.OnNext(Tuple.Create(tileCoords, unitDataReference));
     ClearTileMetadataIfNecessary(tileCoords);
 }
Exemplo n.º 2
0
        public void SetSectionConnection(IntVector2 tileCoords, uint sectionIndex)
        {
            TileMetadata.TileMetadata tileMetadata = GetTileMetadata(tileCoords);
            var oldSectionIndex = tileMetadata.sectionConnection;

            tileMetadata.sectionConnection = (int)sectionIndex;
            if (oldSectionIndex != sectionIndex)
            {
                _sectionConnectionChangeSubject.OnNext(Tuple.Create(tileCoords, tileMetadata.SectionConnection));
            }
        }
Exemplo n.º 3
0
        public void ClearSectionConnection(IntVector2 tileCoords)
        {
            TileMetadata.TileMetadata tileMetadata = GetTileMetadata(tileCoords);
            var oldSectionIndex = tileMetadata.sectionConnection;

            tileMetadata.sectionConnection = -1;

            if (oldSectionIndex != -1)
            {
                _sectionConnectionChangeSubject.OnNext(Tuple.Create(tileCoords, tileMetadata.SectionConnection));
            }

            ClearTileMetadataIfNecessary(tileCoords);
        }
 public TileMetadataPair(Vector2 tileCoords)
 {
     this.tileCoords   = tileCoords;
     this.tileMetadata = new TileMetadata();
 }
Exemplo n.º 5
0
 public void AddInitialUnit(IntVector2 tileCoords, UnitDataReference unitDataReference)
 {
     TileMetadata.TileMetadata tileMetadata = GetTileMetadata(tileCoords);
     tileMetadata.units.Add(unitDataReference);
     _unitAddedSubject.OnNext(Tuple.Create(tileCoords, unitDataReference));
 }