Na začátku hry se mapa na serveru synchronizuje s mapou u clienta. Rozšířen spritesheet monitoru o remote dveře. Přidána GlobalClassLib pro kód sdílený mezi clientem a serverem. Základ pro implementaci ovládání remote dveří.
This commit is contained in:
parent
8801a7c919
commit
7e6b3d724b
25 changed files with 374 additions and 67 deletions
28
GlobalClassLib/GlobalTileConnector.cs
Normal file
28
GlobalClassLib/GlobalTileConnector.cs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
namespace GlobalClassLib;
|
||||
|
||||
public abstract class GlobalTileConnector<TTile, TCon> where TTile : GlobalMapTile<TCon,TTile> where TCon : GlobalTileConnector<TTile, TCon> {
|
||||
// private readonly TTile _tile1;
|
||||
// private readonly TTile _tile2;
|
||||
|
||||
public GlobalTileConnector(TTile tile1, TTile tile2, ConnectorType type) {
|
||||
Tiles.tile1 = tile1;
|
||||
Tiles.tile2 = tile2;
|
||||
Type = type;
|
||||
}
|
||||
|
||||
public GlobalTileConnector(TTile tile2, ConnectorType type) {
|
||||
Tiles.tile2 = tile2;
|
||||
Type = type;
|
||||
}
|
||||
|
||||
public (TTile tile1, TTile tile2) Tiles;
|
||||
public (int, int) Id => (Tiles.tile1.Id, Tiles.tile2.Id);
|
||||
|
||||
public ConnectorType Type { get; set; }
|
||||
|
||||
public TTile OtherTile(TTile tile) => Tiles.Item1 == tile ? Tiles.Item2 : Tiles.Item1;
|
||||
|
||||
public override string ToString() => $"Con ({Tiles.Item1.PositionAsString} -> {Tiles.Item2.PositionAsString})";
|
||||
|
||||
public abstract TCon Clone();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue