public static ObjectGuid CreateBookWrittenCallback(object customData, ref Simulator.ObjectInitParameters initData, Quality quality) { BookWrittenData data = customData as BookWrittenData; if (data == null) { return(ObjectGuid.InvalidObjectGuid); } try { Notify(data.Title); BookWritten book = GlobalFunctions.CreateObjectOutOfWorld("BookWritten") as BookWritten; if (book == null) { return(ObjectGuid.InvalidObjectGuid); } book.InitBookCommon(data); return(book.ObjectId); } catch (Exception e) { Common.Exception(data.ID, e); return(ObjectGuid.InvalidObjectGuid); } }
protected override bool PrivateUpdate(ScenarioFrame frame) { List <BookWritten> allBooks = new List <BookWritten>(Lot.GetObjects <BookWritten>()); Dictionary <BookWrittenData, int> books = new Dictionary <BookWrittenData, int>(); foreach (BookWritten book in allBooks) { BookWrittenData data = book.Data as BookWrittenData; if (data == null) { IncStat("Bad Removed"); book.FadeOut(false, true); } else { if (!books.ContainsKey(data)) { books.Add(data, 1); } else { books[data]++; } } } foreach (KeyValuePair <BookWrittenData, int> data in books) { if (data.Value <= 1) { continue; } List <BookWritten> bookList = new List <BookWritten>(); foreach (BookWritten book in allBooks) { if (book.Data == data.Key) { bookList.Add(book); } } if (bookList.Count > 1) { BookWritten save = RandomUtil.GetRandomObjectFromList(bookList); bookList.Remove(save); foreach (BookWritten book in bookList) { IncStat("Removed"); book.FadeOut(false, true); } } } return(false); }
public static ObjectGuid CreateWrittenBookCallback(object customData, ref Simulator.ObjectInitParameters initData, Quality quality) { BookWrittenData bookWrittenData = customData as BookWrittenData; if (bookWrittenData == null) { return(ObjectGuid.InvalidObjectGuid); } ObjectGuid result; try { BookWritten bookWritten = GlobalFunctions.CreateObjectOutOfWorld("BookWritten") as BookWritten; if (bookWritten == null) { result = ObjectGuid.InvalidObjectGuid; } else { bookWritten = BookWritten.CreateOutOfWorld(bookWrittenData); result = bookWritten.ObjectId; } } catch (Exception ex) { StyledNotification.Show(new StyledNotification.Format("CreateWrittenBookCallback: " + ex.Message, StyledNotification.NotificationStyle.kGameMessagePositive)); result = ObjectGuid.InvalidObjectGuid; } return(result); }
private static void OnAddBookBuff(Event e) { Sim actor = e.Actor as Sim; if (actor == null) { return; } BookWritten target = e.TargetObject as BookWritten; if (target == null) { return; } BookWrittenData data = target.Data as BookWrittenData; if (data == null) { return; } if (actor.SimDescription.ChildOrBelow) { return; } if (actor.SimDescription.Teen) { if (!Woohooer.Settings.AllowTeen(true)) { return; } } if (actor.BuffManager == null) { return; } switch (data.Genre) { case BookData.BookGenres.Romance: //case BookData.BookGenres.Poetry: case BookData.BookGenres.Trashy: actor.BuffManager.AddElement(BuffNames.InTheMood, sBookOrigin); break; } }
public static void ProcessWrittenBookCallback(object customData, IGameObject book) { BookWrittenData bookWrittenData = customData as BookWrittenData; if (bookWrittenData == null) { return; } try { BookWritten.ProcessCallback(bookWrittenData, book as BookWritten); } catch (Exception ex) { StyledNotification.Show(new StyledNotification.Format("ProcessWrittenBookCallback: " + ex.Message, StyledNotification.NotificationStyle.kGameMessagePositive)); } }
public static void ProcessBookWrittenCallback(object customData, IGameObject book) { BookWrittenData data = customData as BookWrittenData; if (data == null) { return; } try { BookWritten.ProcessCallback(data, book as BookWritten); } catch (Exception e) { Common.Exception(data.ID, e); } }