public static NetFriendlyBookShelf ProcessSubBookShelf(Librarian.Library.LibraryBookShelf _BookShelf)
    {
        if (_BookShelf.IsPartiallyGenerated)
        {
            _BookShelf.PopulateBookShelf();
        }

        NetFriendlyBookShelf BookShelf = new NetFriendlyBookShelf
        {
            ID = _BookShelf.ID,
            SN = _BookShelf.ShelfName,
            IE = _BookShelf.IsEnabled,
        };
        List <IDnName> _lisofIDnName = new List <IDnName>();

        foreach (var HeldBook in _BookShelf.HeldBooks)
        {
            IDnName _IDnName = new IDnName
            {
                ID = HeldBook.ID,
                SN = HeldBook.BookClass.GetType().Name
            };
            if (_IDnName.SN == null)
            {
                _IDnName.SN = "null";
            }
            _lisofIDnName.Add(_IDnName);
        }


        BookShelf.HB = _lisofIDnName.ToArray();


        return(BookShelf);
    }
 public static void RecursiveProcessLibrary(Librarian.Library.LibraryBookShelf LibraryBookShelf,
                                            List <NetFriendlyHierarchyBookShelf> List)
 {
     foreach (var Children in LibraryBookShelf.Contains)
     {
         List.Add(ProcessLibraryBookShelf(Librarian.TransformToBookShelf[Children]));             //################
         RecursiveProcessLibrary(Librarian.TransformToBookShelf[Children], List);
     }
 }
        public static NetMessage Send(Librarian.Library.LibraryBookShelf _BookShelf, GameObject ToWho)
        {
            NetMessage msg = new NetMessage()
            {
                BookShelf = VariableViewerNetworking.ProcessSubBookShelf(_BookShelf)
            };

            SendTo(ToWho, msg, channel: 3);
            return(msg);
        }
    public static NetFriendlyHierarchyBookShelf ProcessLibraryBookShelf(Librarian.Library.LibraryBookShelf LibraryBookShelf)
    {
        var newone = new NetFriendlyHierarchyBookShelf();

        newone.Nm = LibraryBookShelf.ShelfName;
        if (LibraryBookShelf.Parent != null)
        {
            newone.PID = Librarian.TransformToBookShelf[LibraryBookShelf.Parent].ID;
        }

        newone.ID = LibraryBookShelf.ID;
        return(newone);
    }
示例#5
0
 public static void SendBookShelfToClient(Librarian.Library.LibraryBookShelf BookShelf, GameObject ToWho)
 {
     SubBookshelfNetMessage.Send(BookShelf, ToWho);
 }