public override void RemapEntityIds(IMyEntityIdRemapContext remapContext) { base.RemapEntityIds(remapContext); PlayerStatisticsObjectBuilder.RemapEntityIds(remapContext); ShipConfigObjectBuilder.RemapEntityIds(remapContext); ShipObjectBuilder.RemapEntityIds(remapContext); }
internal override void Write(System.IO.BinaryWriter binaryWriter) { base.Write(binaryWriter); // Health MyMwcLog.IfNetVerbose_AddToLog("Health: " + Health); MyMwcMessageOut.WriteFloat(Health, binaryWriter); // Money MyMwcLog.IfNetVerbose_AddToLog("Money: " + Money); MyMwcMessageOut.WriteFloat(Money, binaryWriter); // Without oxygen MyMwcLog.IfNetVerbose_AddToLog("WithoutOxygen: " + WithoutOxygen); MyMwcMessageOut.WriteFloat(WithoutOxygen, binaryWriter); // Player statistic's objectbuilder bool isPlayerStatisticsObjectBuilder = PlayerStatisticsObjectBuilder != null; MyMwcMessageOut.WriteBool(isPlayerStatisticsObjectBuilder, binaryWriter); if (isPlayerStatisticsObjectBuilder) { PlayerStatisticsObjectBuilder.Write(binaryWriter); } // Ship's objectbuilder bool isShipObjectBuilder = ShipObjectBuilder != null; MyMwcMessageOut.WriteBool(isShipObjectBuilder, binaryWriter); if (isShipObjectBuilder) { ShipObjectBuilder.Write(binaryWriter); } // ShipConfig's objectbuilder bool isShipConfigObjectBuilder = ShipConfigObjectBuilder != null; MyMwcMessageOut.WriteBool(isShipConfigObjectBuilder, binaryWriter); if (isShipConfigObjectBuilder) { ShipConfigObjectBuilder.Write(binaryWriter); } }
internal override bool Read(System.IO.BinaryReader binaryReader, System.Net.EndPoint senderEndPoint, int gameVersion) { if (!base.Read(binaryReader, senderEndPoint, gameVersion)) { return(NetworkError()); } // Health float?health = MyMwcMessageIn.ReadFloat(binaryReader); if (health == null) { return(NetworkError()); } Health = health.Value; MyMwcLog.IfNetVerbose_AddToLog("Health: " + Health); // Money float?money = MyMwcMessageIn.ReadFloat(binaryReader); if (money == null) { return(NetworkError()); } Money = money.Value; MyMwcLog.IfNetVerbose_AddToLog("Money: " + Money); // Without oxygen float?withoutOxygen = MyMwcMessageIn.ReadFloat(binaryReader); if (withoutOxygen == null) { return(NetworkError()); } WithoutOxygen = withoutOxygen.Value; MyMwcLog.IfNetVerbose_AddToLog("WithoutOxygen: " + WithoutOxygen); // Player statistic's objectbuilder bool?isPlayerStatisticsObjectBuilder = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (isPlayerStatisticsObjectBuilder == null) { return(NetworkError()); } if (isPlayerStatisticsObjectBuilder.Value) { PlayerStatisticsObjectBuilder = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_PlayerStatistics; if (PlayerStatisticsObjectBuilder == null) { return(NetworkError()); } if (PlayerStatisticsObjectBuilder.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } } else { PlayerStatisticsObjectBuilder = null; } // Ship's objectbuilder bool?isShipObjectBuilder = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (isShipObjectBuilder == null) { return(NetworkError()); } if (isShipObjectBuilder.Value) { ShipObjectBuilder = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_SmallShip; if (ShipObjectBuilder == null) { return(NetworkError()); } if (ShipObjectBuilder.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } } else { ShipObjectBuilder = null; } // ShipConfig's objectbuilder bool?isShipConfigObjectBuilder = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (isShipConfigObjectBuilder == null) { return(NetworkError()); } if (isShipConfigObjectBuilder.Value) { ShipConfigObjectBuilder = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_ShipConfig; if (ShipConfigObjectBuilder == null) { return(NetworkError()); } if (ShipConfigObjectBuilder.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } } else { ShipConfigObjectBuilder = null; } return(true); }