using QSB.Events; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QSB.QuantumSync.Events { public class MultiStateChangeEvent : QSBEvent { public override QSB.Events.EventType Type => QSB.Events.EventType.MultiStateChange; public override void SetupListener() => GlobalMessenger.AddListener(EventNames.QSBMultiStateChange, Handler); public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.QSBMultiStateChange, Handler); private void Handler(int objid, int stateIndex) => SendEvent(CreateMessage(objid, stateIndex)); private MultiStateChangeMessage CreateMessage(int objid, int stateIndex) => new MultiStateChangeMessage { AboutId = LocalPlayerId, ObjectId = objid, StateIndex = stateIndex }; public override void OnReceiveRemote(bool server, MultiStateChangeMessage message) { if (!QSBCore.HasWokenUp) { return; } } } }