====== TUEB_NC ====== (Unified Entity-Based_NetCode) ===== Server States ===== - Empty - Waiting - Running (Nachdem alle ClientConnections Ready waren) Neue Verbindungen werden nur bei State < Running angenommen ===== Client (Connection) States ===== - Connected - Ready - Running * ConnectionName ===== Entity ===== * ID * Type (ClassName) * Serialize/Unserialize in Paket ===== Event ===== * Type (ClassName) * Sender (EntityID|ENTITY_NOONE(=Server Announcement)) * Receiver (EntityID|ENTITY_NOONE|ENTITY_BCAST(=Nur Client->Server)) * Events wie Windows Messages: erst auf Connection-Level, wenn dort nicht behandelt dann an Entity weitergereicht * Entity hat EventHandler, reagiert darauf, löst ggf. neue Events aus * State Changes werden als Events angekündigt ===== Beispiele ===== Normaler Spielablauf: - Connect (ggf mehrere Clients) - Ready - StateChange: Server->Running; Clients erstellen Player-Entities und melden die am Server an - Server überträgt Map-Entities