public void UpdateNetworkBalanced() { if (!m_closed && Entity.InScene) { if (MyAPIGateway.Multiplayer.MultiplayerActive && MyAPIGateway.Multiplayer.IsServer) { ShieldMessage shieldMessage = new ShieldMessage(Entity.EntityId, m_currentShieldPoints); byte[] message = new byte[12]; byte[] messageID = BitConverter.GetBytes(Entity.EntityId); byte[] messageValue = BitConverter.GetBytes(m_currentShieldPoints); for (int i = 0; i < 8; i++) { message[i] = messageID[i]; } for (int i = 0; i < 4; i++) { message[i + 8] = messageValue[i]; } MyAPIGateway.Multiplayer.SendMessageToOthers(5854, message, true); //Log.writeLine("<ShieldGeneratorGameLogic> Sync sent."); } } }
public override void UpdateAfterSimulation() { if (m_ticks == 0) { bool contains = false; foreach (var shieldMessage in EnergyShieldsCore.shieldSaveFile.ShieldGenerators) { if (shieldMessage.entityID == Entity.EntityId) { contains = true; saveFileShieldMessage = shieldMessage; } } if (!contains) { saveFileShieldMessage = new ShieldMessage(Entity.EntityId, m_currentShieldPoints); EnergyShieldsCore.shieldSaveFile.ShieldGenerators.Add(saveFileShieldMessage); } } m_ticks++; }
public override void UpdateBeforeSimulation() { calculateMaximumShieldPoints(); calculateShieldPointsRecharge(); // MyAPIGateway.Utilities.ShowNotification("Value: " + m_currentShieldPoints, 20000); /* * if ((m_ticks % EnergyShieldsCore.Config.GeneralSettings.StatusUpdateInterval) == 0) * { * * Sandbox.ModAPI.IMyTerminalBlock terminalBlock = Entity as Sandbox.ModAPI.IMyTerminalBlock; * terminalBlock.RefreshCustomInfo (); * printShieldStatus(); * * * MyAPIGateway.Utilities.ShowNotification("Gen: " + Entity.EntityId, 150); * * } */ if ((m_ticks % 100) == 0) { if (MyAPIGateway.Multiplayer.MultiplayerActive && MyAPIGateway.Multiplayer.IsServer) { ShieldMessage shieldMessage = new ShieldMessage(Entity.EntityId, m_currentShieldPoints); byte[] message = new byte[12]; byte[] messageID = BitConverter.GetBytes(Entity.EntityId); byte[] messageValue = BitConverter.GetBytes(m_currentShieldPoints); for (int i = 0; i < 8; i++) { message[i] = messageID[i]; } for (int i = 0; i < 4; i++) { message[i + 8] = messageValue[i]; } MyAPIGateway.Multiplayer.SendMessageToOthers(5854, message, true); //Log.writeLine("<ShieldGeneratorGameLogic> Sync sent."); } } saveFileShieldMessage.value = m_currentShieldPoints; MyCubeBlock cube = Entity as MyCubeBlock; }