private static bool HandleSwitch(Session Session, Item Item, RoomInstance Instance, ItemEventType Event, int RequestData, uint Opcode) { if (Event != ItemEventType.Interact) { return true; } RoomActor actor = Instance.GetActor (Session.CharacterId); if (actor == null) { return true; } foreach (Item item in Instance.GetFloorItems()) { if (item.Definition.Behavior != ItemBehavior.WiredTrigger || WiredTypesUtil.TriggerFromInt (item.Definition.BehaviorData) != WiredTriggerTypes.state_changed) { continue; } String[] Selected = item.WiredData.Data1.Split ('|'); if (Selected.Contains (Item.Id.ToString ())) { Instance.WiredManager.ExecuteActions (item, actor); } } return true; }