Beispiel #1
0
        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;
        }