Example #1
0
        private static void HandleTriggerSave(IWiredTrigger handler, WiredHandler manager, Room room, RoomItem item)
        {
            item.wiredHandler = handler;
            manager.RemoveFurniture(item);
            manager.AddFurniture(item);

            room.GetRoomItemHandler().UpdateWiredItem(item);
        }
Example #2
0
        private static void HandleItemLoad(IWiredTrigger handler, RoomItem item)
        {
            if (item.wiredHandler != null)
            {
                item.wiredHandler.Dispose();
            }

            item.wiredHandler = handler;
        }
Example #3
0
        internal void Destroy()
        {
            mRoom = null;
            mAffectedPoints.Clear();

            if (wiredHandler != null)
            {
                wiredHandler.Dispose();
            }
            wiredHandler            = null;
            itemTriggerEventHandler = null;
            OnUserWalksOffFurni     = null;
            OnUserWalksOnFurni      = null;
        }
Example #4
0
        public static void UpdateInDatabase(IWiredTrigger wiredItem, IQueryAdapter dbClient)
        {
            RemoveFromDatabase(wiredItem, dbClient);

            RoomItem item = wiredItem.GetOriginalWiredItem();
            InteractionType type = item.GetBaseItem().InteractionType;

            if (WiredLoaderObject.HasSettings(type))
            {
                string[] data = (wiredItem as IWiredSettingsTrigger).GetSettings();
                dbClient.setQuery("INSERT INTO `wired_data` (`wired_id`, `data_one`, `data_two`, `data_three`, `data_four`) VALUES (@id, @data1, @data2, @data3, @data4) ");
                dbClient.addParameter("id", item.Id);
                dbClient.addParameter("data1", data.Length >= 1 ? data[0] : "");
                dbClient.addParameter("data2", data.Length >= 2 ? data[1] : "");
                dbClient.addParameter("data3", data.Length >= 3 ? data[2] : "");
                dbClient.addParameter("data4", data.Length >= 4 ? data[3] : "");
                dbClient.runQuery();
            }
            if (WiredLoaderObject.HasOriginalItemLocations(type))
            {
                Dictionary<uint, OriginalItemLocation> originalLoc = (wiredItem as IWiredOriginalItemTrigger).GetOriginalItemLocation();

                foreach (OriginalItemLocation itemLoc in originalLoc.Values)
                {
                    dbClient.setQuery("INSERT INTO `wired_original_item_locations` (`wired_id`,`item_id`, `original_x`, `original_y`, `rotation`, `extradata`, `height`) VALUES (@wid, @id, @orx, @ory, @orrot, @data, @height)");
                    dbClient.addParameter("wid", item.Id);
                    dbClient.addParameter("id", itemLoc.itemID);
                    dbClient.addParameter("orx", itemLoc.X);
                    dbClient.addParameter("ory", itemLoc.Y);
                    dbClient.addParameter("orrot", itemLoc.Rot);
                    dbClient.addParameter("data", itemLoc.ExtraData);
                    dbClient.addParameter("height", itemLoc.Height);

                    dbClient.runQuery();
                }
            }
            if (WiredLoaderObject.NeedsFurnitures(type))
            {
                List<RoomItem> items = (wiredItem as IWiredFurniTrigger).getAffectedItemList();
                foreach (RoomItem rItem in items)
                {
                    dbClient.setQuery("INSERT INTO `wired_to_item` (`wired_id`, `trigger_item`) VALUES (@id, @triggeritem)");
                    dbClient.addParameter("id", item.Id);
                    dbClient.addParameter("triggeritem", rItem.Id);
                    dbClient.runQuery();
                }
            }

        }
Example #5
0
        private static void HandleTriggerSave(IWiredTrigger handler, WiredHandler manager, Room room, uint itemID)
        {
            RoomItem item = room.GetRoomItemHandler().GetItem(itemID);

            if (item == null)
            {
                return;
            }

            item.wiredHandler = handler;
            manager.RemoveFurniture(item); //Removes it from le manager just in case there is annything registered allready
            manager.AddFurniture(item);

            using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
            {
                handler.SaveToDatabase(dbClient);
            }
        }
Example #6
0
 public static void RemoveFromDatabase(IWiredTrigger wiredItem, IQueryAdapter dbClient)
 {
     RoomItem item = wiredItem.GetOriginalWiredItem();
     InteractionType type = item.GetBaseItem().InteractionType;
     if(WiredLoaderObject.HasSettings(type))
     {
         dbClient.setQuery("DELETE FROM wired_data WHERE wired_id = @id");
         dbClient.addParameter("id", item.Id);
         dbClient.runQuery();
     }
     if (WiredLoaderObject.HasOriginalItemLocations(type))
     {
         dbClient.setQuery("DELETE FROM wired_original_item_locations WHERE wired_id = @id");   
         dbClient.addParameter("id", item.Id);
         dbClient.runQuery();
     }
     if (WiredLoaderObject.NeedsFurnitures(type))
     {
         dbClient.setQuery("DELETE FROM wired_to_item WHERE wired_id = @id");
         dbClient.addParameter("id", item.Id);
         dbClient.runQuery();
     }
 }
Example #7
0
        private static void HandleTriggerSave(IWiredTrigger handler, WiredHandler manager, Room room, uint itemID)
        {
            RoomItem item = room.GetRoomItemHandler().GetItem(itemID);
            if (item == null)
                return;

            item.wiredHandler = handler;
            manager.RemoveFurniture(item); //Removes it from le manager just in case there is annything registered allready
            manager.AddFurniture(item);

            using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor())
            {
                handler.SaveToDatabase(dbClient);
            }
        }
Example #8
0
        private static void HandleItemLoad(IWiredTrigger handler, WiredHandler wiredHandler, RoomItem item)
        {
            if (item == null)
                return;

            if (item.wiredHandler != null)
                item.wiredHandler.Dispose();

            item.wiredHandler = handler;
        }