private void Process(Client client, ClientPowerChange msg) { state.history.power[msg.targetGuid] = msg; msg.force = false; SendToAll(client.peer, msg); msg.force = true; }
public void Update() { if (rateLimiter.Update(8.0f)) { float charge = GetCharge(); if (Mathf.Abs(lastCharge - charge) >= 5.0f) { lastCharge = charge; if (GameModeUtils.RequiresPower()) { var res = new ClientPowerChange(); res.targetGuid = GuidHelper.Get(gameObject); res.total = charge; res.force = false; Multiplayer.main.Send(res); } } } }
private void Process(ClientPowerChange msg) { var target = GuidHelper.FindComponent <PowerMonitor>(msg.targetGuid); if (target == null) { Log.Warn("Couldn't find power monitor: " + msg.targetGuid); return; } using (new MessageBlocker()) { if (msg.force) { target.Force(msg.total); } else { target.Correct(msg.total); } } }