diff --git a/Docs/README.pdf b/Docs/README.pdf deleted file mode 100644 index ec4f62b..0000000 Binary files a/Docs/README.pdf and /dev/null differ diff --git a/Docs/api/.manifest b/Docs/api/.manifest deleted file mode 100644 index 30c84ec..0000000 --- a/Docs/api/.manifest +++ /dev/null @@ -1,104 +0,0 @@ -{ - "Battlehub.RTCommon": "Battlehub.RTCommon.yml", - "Battlehub.RTCommon.IOC": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.ClearAll": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.IsFallbackRegistered``1": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.IsRegistered``1": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.IsRegistered``1(System.String)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Register``1(``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Register``1(Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Register``1(System.String,``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Register``1(System.String,Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.RegisterFallback``1(``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.RegisterFallback``1(Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Resolve``1": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Resolve``1(System.String)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Unregister``1": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Unregister``1(``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Unregister``1(Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Unregister``1(System.String,``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.Unregister``1(System.String,Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.UnregisterFallback``1": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.UnregisterFallback``1(``0)": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTCommon.IOC.UnregisterFallback``1(Func{``0})": "Battlehub.RTCommon.IOC.yml", - "Battlehub.RTEditor": "Battlehub.RTEditor.yml", - "Battlehub.RTEditor.IWindowManager": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ActivateWindow(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ActivateWindow(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ActiveWorkspace": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.AfterLayout": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ComponentsRoot": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CopyTransform(Transform,Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Single,System.Single,System.Single,System.Single,System.Boolean)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateDropdown(System.String,RectTransform,System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,Battlehub.RTEditor.WindowDescriptor)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,System.String,Sprite)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,Vector2,System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,GameObject@,System.Boolean@)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,System.Boolean@)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,System.Boolean,RegionSplitType,System.Single,Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.DeleteLayout(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.DestroyDialogWindow": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.DestroyWindow(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Exists(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetComponents(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetHeaderIcon(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetHeaderText(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetLayout": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetLayout(System.String,GameObject)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetWindow(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String,System.Boolean@)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetWindows": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetWindows(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.GetWindowTypeName(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.IsActive(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.IsActive(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.IsDialogOpened": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.IsWindowRegistered(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.LayoutExist(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.LoadLayout(System.String,GameObject)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.MessageBox(Sprite,System.String,System.String,DialogAction{DialogCancelArgs})": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.MessageBox(System.String,System.String,DialogAction{DialogCancelArgs})": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.OverrideTools(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,Battlehub.RTEditor.WindowDescriptor)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,GameObject)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.PopupRoot": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Prompt(Sprite,System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.Prompt(System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SaveLayout(System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform,Vector3,Vector2@)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetBottomBar(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetDefaultLayout": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetHeaderIcon(Transform,Sprite)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetHeaderText(Transform,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetLayout(Func{LayoutInfo},System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetLeftBar(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetRightBar(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetTools(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetTopBar(Transform)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetTransform(Transform,Vector2,Vector2,Vector2,Vector2)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.SetWindowArgs(Transform,System.String)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.ValidateLayout(LayoutInfo)": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.WindowCreated": "Battlehub.RTEditor.IWindowManager.yml", - "Battlehub.RTEditor.IWindowManager.WindowDestroyed": "Battlehub.RTEditor.IWindowManager.yml" -} \ No newline at end of file diff --git a/Docs/api/Battlehub.RTCommon.IOC.yml b/Docs/api/Battlehub.RTCommon.IOC.yml deleted file mode 100644 index 3200d80..0000000 --- a/Docs/api/Battlehub.RTCommon.IOC.yml +++ /dev/null @@ -1,1011 +0,0 @@ -### YamlMime:ManagedReference -items: -- uid: Battlehub.RTCommon.IOC - commentId: T:Battlehub.RTCommon.IOC - id: IOC - parent: Battlehub.RTCommon - children: - - Battlehub.RTCommon.IOC.ClearAll - - Battlehub.RTCommon.IOC.IsFallbackRegistered``1 - - Battlehub.RTCommon.IOC.IsRegistered``1 - - Battlehub.RTCommon.IOC.IsRegistered``1(System.String) - - Battlehub.RTCommon.IOC.Register``1(``0) - - Battlehub.RTCommon.IOC.Register``1(Func{``0}) - - Battlehub.RTCommon.IOC.Register``1(System.String,``0) - - Battlehub.RTCommon.IOC.Register``1(System.String,Func{``0}) - - Battlehub.RTCommon.IOC.RegisterFallback``1(``0) - - Battlehub.RTCommon.IOC.RegisterFallback``1(Func{``0}) - - Battlehub.RTCommon.IOC.Resolve``1 - - Battlehub.RTCommon.IOC.Resolve``1(System.String) - - Battlehub.RTCommon.IOC.Unregister``1 - - Battlehub.RTCommon.IOC.Unregister``1(``0) - - Battlehub.RTCommon.IOC.Unregister``1(Func{``0}) - - Battlehub.RTCommon.IOC.Unregister``1(System.String,``0) - - Battlehub.RTCommon.IOC.Unregister``1(System.String,Func{``0}) - - Battlehub.RTCommon.IOC.UnregisterFallback``1 - - Battlehub.RTCommon.IOC.UnregisterFallback``1(``0) - - Battlehub.RTCommon.IOC.UnregisterFallback``1(Func{``0}) - langs: - - csharp - - vb - name: IOC - nameWithType: IOC - fullName: Battlehub.RTCommon.IOC - type: Class - source: - id: IOC - path: '' - startLine: 27430 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nSimple IoC container implementation.\n" - example: [] - syntax: - content: public static class IOC - content.vb: Public Module IOC - inheritance: - - System.Object - modifiers.csharp: - - public - - static - - class - modifiers.vb: - - Public - - Module -- uid: Battlehub.RTCommon.IOC.IsRegistered``1(System.String) - commentId: M:Battlehub.RTCommon.IOC.IsRegistered``1(System.String) - id: IsRegistered``1(System.String) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: IsRegistered(String) - nameWithType: IOC.IsRegistered(String) - fullName: Battlehub.RTCommon.IOC.IsRegistered(System.String) - type: Method - source: - id: IsRegistered - path: '' - startLine: 27438 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nChecks if a named dependency of type is registered.\n" - example: [] - syntax: - content: public static bool IsRegistered(string name) - parameters: - - id: name - type: System.String - description: Name of dependency. - typeParameters: - - id: T - description: Type of dependency. - return: - type: System.Boolean - description: True if dependency of type with name registered. - content.vb: Public Shared Function IsRegistered(Of T)(name As String) As Boolean - overload: Battlehub.RTCommon.IOC.IsRegistered* - nameWithType.vb: IOC.IsRegistered(Of T)(String) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.IsRegistered(Of T)(System.String) - name.vb: IsRegistered(Of T)(String) -- uid: Battlehub.RTCommon.IOC.Register``1(System.String,Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.Register``1(System.String,Func{``0}) - id: Register``1(System.String,Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Register(String, Func) - nameWithType: IOC.Register(String, Func) - fullName: Battlehub.RTCommon.IOC.Register(System.String, Func) - type: Method - source: - id: Register - path: '' - startLine: 27449 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters named dependency of type.\n" - example: [] - syntax: - content: public static void Register(string name, Func func) - parameters: - - id: name - type: System.String - description: Name of dependency. - - id: func - type: Global.Func{{T}} - description: Function which constructs object of type. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Register(Of T)(name As String, func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.Register* - nameWithType.vb: IOC.Register(Of T)(String, Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Register(Of T)(System.String, Func(Of T)) - name.vb: Register(Of T)(String, Func(Of T)) -- uid: Battlehub.RTCommon.IOC.Register``1(System.String,``0) - commentId: M:Battlehub.RTCommon.IOC.Register``1(System.String,``0) - id: Register``1(System.String,``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Register(String, T) - nameWithType: IOC.Register(String, T) - fullName: Battlehub.RTCommon.IOC.Register(System.String, T) - type: Method - source: - id: Register - path: '' - startLine: 27460 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters named dependency of type.\n" - example: [] - syntax: - content: public static void Register(string name, T instance) - parameters: - - id: name - type: System.String - description: Name of dependency. - - id: instance - type: '{T}' - description: Instance of type. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Register(Of T)(name As String, instance As T) - overload: Battlehub.RTCommon.IOC.Register* - nameWithType.vb: IOC.Register(Of T)(String, T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Register(Of T)(System.String, T) - name.vb: Register(Of T)(String, T) -- uid: Battlehub.RTCommon.IOC.Unregister``1(System.String,Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.Unregister``1(System.String,Func{``0}) - id: Unregister``1(System.String,Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Unregister(String, Func) - nameWithType: IOC.Unregister(String, Func) - fullName: Battlehub.RTCommon.IOC.Unregister(System.String, Func) - type: Method - source: - id: Unregister - path: '' - startLine: 27471 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters named dependency of type.\n" - example: [] - syntax: - content: public static void Unregister(string name, Func func) - parameters: - - id: name - type: System.String - description: Name of dependency. - - id: func - type: Global.Func{{T}} - description: Function which was passed to Register method. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Unregister(Of T)(name As String, func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.Unregister* - nameWithType.vb: IOC.Unregister(Of T)(String, Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Unregister(Of T)(System.String, Func(Of T)) - name.vb: Unregister(Of T)(String, Func(Of T)) -- uid: Battlehub.RTCommon.IOC.Unregister``1(System.String,``0) - commentId: M:Battlehub.RTCommon.IOC.Unregister``1(System.String,``0) - id: Unregister``1(System.String,``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Unregister(String, T) - nameWithType: IOC.Unregister(String, T) - fullName: Battlehub.RTCommon.IOC.Unregister(System.String, T) - type: Method - source: - id: Unregister - path: '' - startLine: 27482 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters named dependency of type\n" - example: [] - syntax: - content: public static void Unregister(string name, T instance) - parameters: - - id: name - type: System.String - description: Name of dependency - - id: instance - type: '{T}' - description: Instance which was passed to Register method. - typeParameters: - - id: T - description: Type of dependency - content.vb: Public Shared Sub Unregister(Of T)(name As String, instance As T) - overload: Battlehub.RTCommon.IOC.Unregister* - nameWithType.vb: IOC.Unregister(Of T)(String, T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Unregister(Of T)(System.String, T) - name.vb: Unregister(Of T)(String, T) -- uid: Battlehub.RTCommon.IOC.IsRegistered``1 - commentId: M:Battlehub.RTCommon.IOC.IsRegistered``1 - id: IsRegistered``1 - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: IsRegistered() - nameWithType: IOC.IsRegistered() - fullName: Battlehub.RTCommon.IOC.IsRegistered() - type: Method - source: - id: IsRegistered - path: '' - startLine: 27492 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nChecks if a dependency of type is registered.\n" - example: [] - syntax: - content: public static bool IsRegistered() - typeParameters: - - id: T - description: Type of dependency. - return: - type: System.Boolean - description: True if dependency of type with name registered. - content.vb: Public Shared Function IsRegistered(Of T) As Boolean - overload: Battlehub.RTCommon.IOC.IsRegistered* - nameWithType.vb: IOC.IsRegistered(Of T)() - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.IsRegistered(Of T)() - name.vb: IsRegistered(Of T)() -- uid: Battlehub.RTCommon.IOC.Register``1(Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.Register``1(Func{``0}) - id: Register``1(Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Register(Func) - nameWithType: IOC.Register(Func) - fullName: Battlehub.RTCommon.IOC.Register(Func) - type: Method - source: - id: Register - path: '' - startLine: 27502 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters dependency of type.\n" - example: [] - syntax: - content: public static void Register(Func func) - parameters: - - id: func - type: Global.Func{{T}} - description: Function which constructs object of type. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Register(Of T)(func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.Register* - nameWithType.vb: IOC.Register(Of T)(Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Register(Of T)(Func(Of T)) - name.vb: Register(Of T)(Func(Of T)) -- uid: Battlehub.RTCommon.IOC.Register``1(``0) - commentId: M:Battlehub.RTCommon.IOC.Register``1(``0) - id: Register``1(``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Register(T) - nameWithType: IOC.Register(T) - fullName: Battlehub.RTCommon.IOC.Register(T) - type: Method - source: - id: Register - path: '' - startLine: 27512 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters dependency of type.\n" - example: [] - syntax: - content: public static void Register(T instance) - parameters: - - id: instance - type: '{T}' - description: Instance of type. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Register(Of T)(instance As T) - overload: Battlehub.RTCommon.IOC.Register* - nameWithType.vb: IOC.Register(Of T)(T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Register(Of T)(T) - name.vb: Register(Of T)(T) -- uid: Battlehub.RTCommon.IOC.Unregister``1(Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.Unregister``1(Func{``0}) - id: Unregister``1(Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Unregister(Func) - nameWithType: IOC.Unregister(Func) - fullName: Battlehub.RTCommon.IOC.Unregister(Func) - type: Method - source: - id: Unregister - path: '' - startLine: 27522 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters dependency of type.\n" - example: [] - syntax: - content: public static void Unregister(Func func) - parameters: - - id: func - type: Global.Func{{T}} - description: Function which was passed to Register method. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Unregister(Of T)(func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.Unregister* - nameWithType.vb: IOC.Unregister(Of T)(Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Unregister(Of T)(Func(Of T)) - name.vb: Unregister(Of T)(Func(Of T)) -- uid: Battlehub.RTCommon.IOC.Unregister``1(``0) - commentId: M:Battlehub.RTCommon.IOC.Unregister``1(``0) - id: Unregister``1(``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Unregister(T) - nameWithType: IOC.Unregister(T) - fullName: Battlehub.RTCommon.IOC.Unregister(T) - type: Method - source: - id: Unregister - path: '' - startLine: 27532 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters dependency of type.\n" - example: [] - syntax: - content: public static void Unregister(T instance) - parameters: - - id: instance - type: '{T}' - description: Instance which was passed to Register method. - typeParameters: - - id: T - description: Type of dependency. - content.vb: Public Shared Sub Unregister(Of T)(instance As T) - overload: Battlehub.RTCommon.IOC.Unregister* - nameWithType.vb: IOC.Unregister(Of T)(T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Unregister(Of T)(T) - name.vb: Unregister(Of T)(T) -- uid: Battlehub.RTCommon.IOC.Unregister``1 - commentId: M:Battlehub.RTCommon.IOC.Unregister``1 - id: Unregister``1 - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Unregister() - nameWithType: IOC.Unregister() - fullName: Battlehub.RTCommon.IOC.Unregister() - type: Method - source: - id: Unregister - path: '' - startLine: 27541 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters dependency of type.\n" - example: [] - syntax: - content: public static void Unregister() - typeParameters: - - id: T - description: '' - content.vb: Public Shared Sub Unregister(Of T) - overload: Battlehub.RTCommon.IOC.Unregister* - nameWithType.vb: IOC.Unregister(Of T)() - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Unregister(Of T)() - name.vb: Unregister(Of T)() -- uid: Battlehub.RTCommon.IOC.IsFallbackRegistered``1 - commentId: M:Battlehub.RTCommon.IOC.IsFallbackRegistered``1 - id: IsFallbackRegistered``1 - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: IsFallbackRegistered() - nameWithType: IOC.IsFallbackRegistered() - fullName: Battlehub.RTCommon.IOC.IsFallbackRegistered() - type: Method - source: - id: IsFallbackRegistered - path: '' - startLine: 27551 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nChecks if a fallback dependency of type is registered.\n" - example: [] - syntax: - content: public static bool IsFallbackRegistered() - typeParameters: - - id: T - description: Type of fallback dependency. - return: - type: System.Boolean - description: True if fallback dependency of type with name registered. - content.vb: Public Shared Function IsFallbackRegistered(Of T) As Boolean - overload: Battlehub.RTCommon.IOC.IsFallbackRegistered* - nameWithType.vb: IOC.IsFallbackRegistered(Of T)() - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.IsFallbackRegistered(Of T)() - name.vb: IsFallbackRegistered(Of T)() -- uid: Battlehub.RTCommon.IOC.RegisterFallback``1(Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.RegisterFallback``1(Func{``0}) - id: RegisterFallback``1(Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: RegisterFallback(Func) - nameWithType: IOC.RegisterFallback(Func) - fullName: Battlehub.RTCommon.IOC.RegisterFallback(Func) - type: Method - source: - id: RegisterFallback - path: '' - startLine: 27561 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters fallback dependency of type.\n" - example: [] - syntax: - content: public static void RegisterFallback(Func func) - parameters: - - id: func - type: Global.Func{{T}} - description: Function which constructs object of type. - typeParameters: - - id: T - description: Type of fallback dependency. - content.vb: Public Shared Sub RegisterFallback(Of T)(func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.RegisterFallback* - nameWithType.vb: IOC.RegisterFallback(Of T)(Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.RegisterFallback(Of T)(Func(Of T)) - name.vb: RegisterFallback(Of T)(Func(Of T)) -- uid: Battlehub.RTCommon.IOC.RegisterFallback``1(``0) - commentId: M:Battlehub.RTCommon.IOC.RegisterFallback``1(``0) - id: RegisterFallback``1(``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: RegisterFallback(T) - nameWithType: IOC.RegisterFallback(T) - fullName: Battlehub.RTCommon.IOC.RegisterFallback(T) - type: Method - source: - id: RegisterFallback - path: '' - startLine: 27571 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nRegisters fallback dependency of type.\n" - example: [] - syntax: - content: public static void RegisterFallback(T instance) - parameters: - - id: instance - type: '{T}' - description: Instance of type. - typeParameters: - - id: T - description: Type of fallback dependency. - content.vb: Public Shared Sub RegisterFallback(Of T)(instance As T) - overload: Battlehub.RTCommon.IOC.RegisterFallback* - nameWithType.vb: IOC.RegisterFallback(Of T)(T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.RegisterFallback(Of T)(T) - name.vb: RegisterFallback(Of T)(T) -- uid: Battlehub.RTCommon.IOC.UnregisterFallback``1(Func{``0}) - commentId: M:Battlehub.RTCommon.IOC.UnregisterFallback``1(Func{``0}) - id: UnregisterFallback``1(Func{``0}) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: UnregisterFallback(Func) - nameWithType: IOC.UnregisterFallback(Func) - fullName: Battlehub.RTCommon.IOC.UnregisterFallback(Func) - type: Method - source: - id: UnregisterFallback - path: '' - startLine: 27581 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters fallback dependency of type.\n" - example: [] - syntax: - content: public static void UnregisterFallback(Func func) - parameters: - - id: func - type: Global.Func{{T}} - description: Function which was passed to RegisterFallback method. - typeParameters: - - id: T - description: Type of fallback dependency. - content.vb: Public Shared Sub UnregisterFallback(Of T)(func As Func(Of T)) - overload: Battlehub.RTCommon.IOC.UnregisterFallback* - nameWithType.vb: IOC.UnregisterFallback(Of T)(Func(Of T)) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.UnregisterFallback(Of T)(Func(Of T)) - name.vb: UnregisterFallback(Of T)(Func(Of T)) -- uid: Battlehub.RTCommon.IOC.UnregisterFallback``1(``0) - commentId: M:Battlehub.RTCommon.IOC.UnregisterFallback``1(``0) - id: UnregisterFallback``1(``0) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: UnregisterFallback(T) - nameWithType: IOC.UnregisterFallback(T) - fullName: Battlehub.RTCommon.IOC.UnregisterFallback(T) - type: Method - source: - id: UnregisterFallback - path: '' - startLine: 27591 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters fallback dependency of type.\n" - example: [] - syntax: - content: public static void UnregisterFallback(T instance) - parameters: - - id: instance - type: '{T}' - typeParameters: - - id: T - description: Type of fallback dependency. - content.vb: Public Shared Sub UnregisterFallback(Of T)(instance As T) - overload: Battlehub.RTCommon.IOC.UnregisterFallback* - nameWithType.vb: IOC.UnregisterFallback(Of T)(T) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.UnregisterFallback(Of T)(T) - name.vb: UnregisterFallback(Of T)(T) -- uid: Battlehub.RTCommon.IOC.UnregisterFallback``1 - commentId: M:Battlehub.RTCommon.IOC.UnregisterFallback``1 - id: UnregisterFallback``1 - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: UnregisterFallback() - nameWithType: IOC.UnregisterFallback() - fullName: Battlehub.RTCommon.IOC.UnregisterFallback() - type: Method - source: - id: UnregisterFallback - path: '' - startLine: 27600 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nUnregisters fallback dependency of type.\n" - example: [] - syntax: - content: public static void UnregisterFallback() - typeParameters: - - id: T - description: Type of fallback dependency. - content.vb: Public Shared Sub UnregisterFallback(Of T) - overload: Battlehub.RTCommon.IOC.UnregisterFallback* - nameWithType.vb: IOC.UnregisterFallback(Of T)() - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.UnregisterFallback(Of T)() - name.vb: UnregisterFallback(Of T)() -- uid: Battlehub.RTCommon.IOC.Resolve``1(System.String) - commentId: M:Battlehub.RTCommon.IOC.Resolve``1(System.String) - id: Resolve``1(System.String) - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Resolve(String) - nameWithType: IOC.Resolve(String) - fullName: Battlehub.RTCommon.IOC.Resolve(System.String) - type: Method - source: - id: Resolve - path: '' - startLine: 27611 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nResolves named dependency or fallback dependency of type.\n" - example: [] - syntax: - content: public static T Resolve(string name) - parameters: - - id: name - type: System.String - description: Name of dependency. - typeParameters: - - id: T - description: Type of dependency. - return: - type: '{T}' - description: Object of type (or null if dependency of type is not registered) - content.vb: Public Shared Function Resolve(Of T)(name As String) As T - overload: Battlehub.RTCommon.IOC.Resolve* - nameWithType.vb: IOC.Resolve(Of T)(String) - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Resolve(Of T)(System.String) - name.vb: Resolve(Of T)(String) -- uid: Battlehub.RTCommon.IOC.Resolve``1 - commentId: M:Battlehub.RTCommon.IOC.Resolve``1 - id: Resolve``1 - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Resolve() - nameWithType: IOC.Resolve() - fullName: Battlehub.RTCommon.IOC.Resolve() - type: Method - source: - id: Resolve - path: '' - startLine: 27621 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nResolves dependency or fallback dependency of type.\n" - example: [] - syntax: - content: public static T Resolve() - typeParameters: - - id: T - description: Type of dependency. - return: - type: '{T}' - description: Object of type (or null if dependency of type is not registered) - content.vb: Public Shared Function Resolve(Of T) As T - overload: Battlehub.RTCommon.IOC.Resolve* - nameWithType.vb: IOC.Resolve(Of T)() - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared - fullName.vb: Battlehub.RTCommon.IOC.Resolve(Of T)() - name.vb: Resolve(Of T)() -- uid: Battlehub.RTCommon.IOC.ClearAll - commentId: M:Battlehub.RTCommon.IOC.ClearAll - id: ClearAll - parent: Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: ClearAll() - nameWithType: IOC.ClearAll() - fullName: Battlehub.RTCommon.IOC.ClearAll() - type: Method - source: - id: ClearAll - path: '' - startLine: 27636 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTCommon - summary: "\nClears container and removes all registered dependencies and fallbacks\n" - example: [] - syntax: - content: public static void ClearAll() - content.vb: Public Shared Sub ClearAll - overload: Battlehub.RTCommon.IOC.ClearAll* - modifiers.csharp: - - public - - static - modifiers.vb: - - Public - - Shared -references: -- uid: Battlehub.RTCommon - commentId: N:Battlehub.RTCommon - name: Battlehub.RTCommon - nameWithType: Battlehub.RTCommon - fullName: Battlehub.RTCommon -- uid: System.Object - commentId: T:System.Object - parent: System - isExternal: true - name: Object - nameWithType: Object - fullName: System.Object -- uid: System - commentId: N:System - isExternal: true - name: System - nameWithType: System - fullName: System -- uid: Battlehub.RTCommon.IOC.IsRegistered* - commentId: Overload:Battlehub.RTCommon.IOC.IsRegistered - name: IsRegistered - nameWithType: IOC.IsRegistered - fullName: Battlehub.RTCommon.IOC.IsRegistered -- uid: System.String - commentId: T:System.String - parent: System - isExternal: true - name: String - nameWithType: String - fullName: System.String -- uid: System.Boolean - commentId: T:System.Boolean - parent: System - isExternal: true - name: Boolean - nameWithType: Boolean - fullName: System.Boolean -- uid: Battlehub.RTCommon.IOC.Register* - commentId: Overload:Battlehub.RTCommon.IOC.Register - name: Register - nameWithType: IOC.Register - fullName: Battlehub.RTCommon.IOC.Register -- uid: Global.Func{{T}} - commentId: '!:Global.Func{``0}' - definition: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - nameWithType.vb: Func(Of T) - fullName.vb: Func(Of T) - name.vb: Func(Of T) - spec.csharp: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: T - nameWithType: T - fullName: T - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: T - nameWithType: T - fullName: T - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.Func`1 - isExternal: true - name: Func<> - nameWithType: Func<> - fullName: Func<> - nameWithType.vb: Func(Of ) - fullName.vb: Func(Of ) - name.vb: Func(Of ) - spec.csharp: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: '' - nameWithType: '' - fullName: '' - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: '' - nameWithType: '' - fullName: '' - - name: ) - nameWithType: ) - fullName: ) -- uid: '{T}' - commentId: '!:T' - definition: T - name: T - nameWithType: T - fullName: T -- uid: T - name: T - nameWithType: T - fullName: T -- uid: Battlehub.RTCommon.IOC.Unregister* - commentId: Overload:Battlehub.RTCommon.IOC.Unregister - name: Unregister - nameWithType: IOC.Unregister - fullName: Battlehub.RTCommon.IOC.Unregister -- uid: Battlehub.RTCommon.IOC.IsFallbackRegistered* - commentId: Overload:Battlehub.RTCommon.IOC.IsFallbackRegistered - name: IsFallbackRegistered - nameWithType: IOC.IsFallbackRegistered - fullName: Battlehub.RTCommon.IOC.IsFallbackRegistered -- uid: Battlehub.RTCommon.IOC.RegisterFallback* - commentId: Overload:Battlehub.RTCommon.IOC.RegisterFallback - name: RegisterFallback - nameWithType: IOC.RegisterFallback - fullName: Battlehub.RTCommon.IOC.RegisterFallback -- uid: Battlehub.RTCommon.IOC.UnregisterFallback* - commentId: Overload:Battlehub.RTCommon.IOC.UnregisterFallback - name: UnregisterFallback - nameWithType: IOC.UnregisterFallback - fullName: Battlehub.RTCommon.IOC.UnregisterFallback -- uid: Battlehub.RTCommon.IOC.Resolve* - commentId: Overload:Battlehub.RTCommon.IOC.Resolve - name: Resolve - nameWithType: IOC.Resolve - fullName: Battlehub.RTCommon.IOC.Resolve -- uid: Battlehub.RTCommon.IOC.ClearAll* - commentId: Overload:Battlehub.RTCommon.IOC.ClearAll - name: ClearAll - nameWithType: IOC.ClearAll - fullName: Battlehub.RTCommon.IOC.ClearAll diff --git a/Docs/api/Battlehub.RTCommon.yml b/Docs/api/Battlehub.RTCommon.yml deleted file mode 100644 index 064406d..0000000 --- a/Docs/api/Battlehub.RTCommon.yml +++ /dev/null @@ -1,22 +0,0 @@ -### YamlMime:ManagedReference -items: -- uid: Battlehub.RTCommon - commentId: N:Battlehub.RTCommon - id: Battlehub.RTCommon - children: - - Battlehub.RTCommon.IOC - langs: - - csharp - - vb - name: Battlehub.RTCommon - nameWithType: Battlehub.RTCommon - fullName: Battlehub.RTCommon - type: Namespace - assemblies: - - cs.temp.dll -references: -- uid: Battlehub.RTCommon.IOC - commentId: T:Battlehub.RTCommon.IOC - name: IOC - nameWithType: IOC - fullName: Battlehub.RTCommon.IOC diff --git a/Docs/api/Battlehub.RTEditor.IWindowManager.yml b/Docs/api/Battlehub.RTEditor.IWindowManager.yml deleted file mode 100644 index 36b625a..0000000 --- a/Docs/api/Battlehub.RTEditor.IWindowManager.yml +++ /dev/null @@ -1,3630 +0,0 @@ -### YamlMime:ManagedReference -items: -- uid: Battlehub.RTEditor.IWindowManager - commentId: T:Battlehub.RTEditor.IWindowManager - id: IWindowManager - parent: Battlehub.RTEditor - children: - - Battlehub.RTEditor.IWindowManager.ActivateWindow(System.String) - - Battlehub.RTEditor.IWindowManager.ActivateWindow(Transform) - - Battlehub.RTEditor.IWindowManager.ActiveWorkspace - - Battlehub.RTEditor.IWindowManager.AfterLayout - - Battlehub.RTEditor.IWindowManager.ComponentsRoot - - Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - - Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - - Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - - Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - - Battlehub.RTEditor.IWindowManager.CopyTransform(Transform,Transform) - - Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Single,System.Single,System.Single,System.Single,System.Boolean) - - Battlehub.RTEditor.IWindowManager.CreateDropdown(System.String,RectTransform,System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String) - - Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String,System.String) - - Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,Battlehub.RTEditor.WindowDescriptor) - - Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,System.String,Sprite) - - Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,Vector2,System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@) - - Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,GameObject@,System.Boolean@) - - Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,System.Boolean@) - - Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,System.Boolean,RegionSplitType,System.Single,Transform) - - Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName - - Battlehub.RTEditor.IWindowManager.DeleteLayout(System.String) - - Battlehub.RTEditor.IWindowManager.DestroyDialogWindow - - Battlehub.RTEditor.IWindowManager.DestroyWindow(Transform) - - Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType(System.String) - - Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - - Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - - Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - - Battlehub.RTEditor.IWindowManager.Exists(System.String) - - Battlehub.RTEditor.IWindowManager.FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow) - - Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate - - Battlehub.RTEditor.IWindowManager.GetComponents(Transform) - - Battlehub.RTEditor.IWindowManager.GetHeaderIcon(Transform) - - Battlehub.RTEditor.IWindowManager.GetHeaderText(Transform) - - Battlehub.RTEditor.IWindowManager.GetLayout - - Battlehub.RTEditor.IWindowManager.GetLayout(System.String,GameObject) - - Battlehub.RTEditor.IWindowManager.GetWindow(System.String) - - Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String,System.Boolean@) - - Battlehub.RTEditor.IWindowManager.GetWindows - - Battlehub.RTEditor.IWindowManager.GetWindows(System.String) - - Battlehub.RTEditor.IWindowManager.GetWindowTypeName(Transform) - - Battlehub.RTEditor.IWindowManager.IsActive(System.String) - - Battlehub.RTEditor.IWindowManager.IsActive(Transform) - - Battlehub.RTEditor.IWindowManager.IsDialogOpened - - Battlehub.RTEditor.IWindowManager.IsWindowRegistered(System.String) - - Battlehub.RTEditor.IWindowManager.LayoutExist(System.String) - - Battlehub.RTEditor.IWindowManager.LoadLayout(System.String,GameObject) - - Battlehub.RTEditor.IWindowManager.MessageBox(Sprite,System.String,System.String,DialogAction{DialogCancelArgs}) - - Battlehub.RTEditor.IWindowManager.MessageBox(System.String,System.String,DialogAction{DialogCancelArgs}) - - Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - - Battlehub.RTEditor.IWindowManager.OverrideTools(Transform) - - Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,Battlehub.RTEditor.WindowDescriptor) - - Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,GameObject) - - Battlehub.RTEditor.IWindowManager.PopupRoot - - Battlehub.RTEditor.IWindowManager.Prompt(Sprite,System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - - Battlehub.RTEditor.IWindowManager.Prompt(System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - - Battlehub.RTEditor.IWindowManager.RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor) - - Battlehub.RTEditor.IWindowManager.SaveLayout(System.String) - - Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform,Vector3,Vector2@) - - Battlehub.RTEditor.IWindowManager.SetBottomBar(Transform) - - Battlehub.RTEditor.IWindowManager.SetDefaultLayout - - Battlehub.RTEditor.IWindowManager.SetHeaderIcon(Transform,Sprite) - - Battlehub.RTEditor.IWindowManager.SetHeaderText(Transform,System.String) - - Battlehub.RTEditor.IWindowManager.SetLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - - Battlehub.RTEditor.IWindowManager.SetLayout(Func{LayoutInfo},System.String) - - Battlehub.RTEditor.IWindowManager.SetLeftBar(Transform) - - Battlehub.RTEditor.IWindowManager.SetRightBar(Transform) - - Battlehub.RTEditor.IWindowManager.SetTools(Transform) - - Battlehub.RTEditor.IWindowManager.SetTopBar(Transform) - - Battlehub.RTEditor.IWindowManager.SetTransform(Transform,Vector2,Vector2,Vector2,Vector2) - - Battlehub.RTEditor.IWindowManager.SetWindowArgs(Transform,System.String) - - Battlehub.RTEditor.IWindowManager.ValidateLayout(LayoutInfo) - - Battlehub.RTEditor.IWindowManager.WindowCreated - - Battlehub.RTEditor.IWindowManager.WindowDestroyed - langs: - - csharp - - vb - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager - type: Interface - source: - id: IWindowManager - path: '' - startLine: 34451 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nThe window manager allows you to create complex windows, such as an inspector or scene, and simple dialogs, such as a message or confirmation window.\n\nThe difference between a dialog and a window is quite subtle.The content of a dialog can be anything and it cannot be docked. \nTo be considered a window or dialog box, a RuntimeWindow component must be attached to the game object. \nWhen RuntimeWindow is activated, other windows are deactivated. A dialog cannot deactivate a window.\n" - example: [] - syntax: - content: public interface IWindowManager - content.vb: Public Interface IWindowManager - modifiers.csharp: - - public - - interface - modifiers.vb: - - Public - - Interface -- uid: Battlehub.RTEditor.IWindowManager.IsDialogOpened - commentId: P:Battlehub.RTEditor.IWindowManager.IsDialogOpened - id: IsDialogOpened - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: IsDialogOpened - nameWithType: IWindowManager.IsDialogOpened - fullName: Battlehub.RTEditor.IWindowManager.IsDialogOpened - type: Property - source: - id: IsDialogOpened - path: '' - startLine: 34456 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nReturns true if dialog opened.\n" - example: [] - syntax: - content: bool IsDialogOpened { get; } - parameters: [] - return: - type: System.Boolean - content.vb: ReadOnly Property IsDialogOpened As Boolean - overload: Battlehub.RTEditor.IWindowManager.IsDialogOpened* - modifiers.csharp: - - get - modifiers.vb: - - ReadOnly -- uid: Battlehub.RTEditor.IWindowManager.PopupRoot - commentId: P:Battlehub.RTEditor.IWindowManager.PopupRoot - id: PopupRoot - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: PopupRoot - nameWithType: IWindowManager.PopupRoot - fullName: Battlehub.RTEditor.IWindowManager.PopupRoot - type: Property - source: - id: PopupRoot - path: '' - startLine: 34464 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nRoot panel for popups and floating windows.\n" - example: [] - syntax: - content: RectTransform PopupRoot { get; } - parameters: [] - return: - type: Global.RectTransform - content.vb: ReadOnly Property PopupRoot As RectTransform - overload: Battlehub.RTEditor.IWindowManager.PopupRoot* - modifiers.csharp: - - get - modifiers.vb: - - ReadOnly -- uid: Battlehub.RTEditor.IWindowManager.ComponentsRoot - commentId: P:Battlehub.RTEditor.IWindowManager.ComponentsRoot - id: ComponentsRoot - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ComponentsRoot - nameWithType: IWindowManager.ComponentsRoot - fullName: Battlehub.RTEditor.IWindowManager.ComponentsRoot - type: Property - source: - id: ComponentsRoot - path: '' - startLine: 34472 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nThe root transform for additional window components. Each window can have one or more additional components that must not have UI Canvas as a parent. \n" - example: [] - syntax: - content: Transform ComponentsRoot { get; } - parameters: [] - return: - type: Global.Transform - content.vb: ReadOnly Property ComponentsRoot As Transform - overload: Battlehub.RTEditor.IWindowManager.ComponentsRoot* - modifiers.csharp: - - get - modifiers.vb: - - ReadOnly -- uid: Battlehub.RTEditor.IWindowManager.AfterLayout - commentId: E:Battlehub.RTEditor.IWindowManager.AfterLayout - id: AfterLayout - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: AfterLayout - nameWithType: IWindowManager.AfterLayout - fullName: Battlehub.RTEditor.IWindowManager.AfterLayout - type: Event - source: - id: AfterLayout - path: '' - startLine: 34480 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nTriggers when the layout stage is complete, when all the windows are positioned and ready to use.\n" - example: [] - syntax: - content: event Action AfterLayout - return: - type: Global.Action{Battlehub.RTEditor.IWindowManager} - content.vb: Event AfterLayout As Action(Of IWindowManager) -- uid: Battlehub.RTEditor.IWindowManager.WindowCreated - commentId: E:Battlehub.RTEditor.IWindowManager.WindowCreated - id: WindowCreated - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: WindowCreated - nameWithType: IWindowManager.WindowCreated - fullName: Battlehub.RTEditor.IWindowManager.WindowCreated - type: Event - source: - id: WindowCreated - path: '' - startLine: 34485 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nTriggers after creating a new window.\n" - example: [] - syntax: - content: event Action WindowCreated - return: - type: Global.Action{Transform} - content.vb: Event WindowCreated As Action(Of Transform) -- uid: Battlehub.RTEditor.IWindowManager.WindowDestroyed - commentId: E:Battlehub.RTEditor.IWindowManager.WindowDestroyed - id: WindowDestroyed - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: WindowDestroyed - nameWithType: IWindowManager.WindowDestroyed - fullName: Battlehub.RTEditor.IWindowManager.WindowDestroyed - type: Event - source: - id: WindowDestroyed - path: '' - startLine: 34490 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nTriggers after the window is destroyed.\n" - example: [] - syntax: - content: event Action WindowDestroyed - return: - type: Global.Action{Transform} - content.vb: Event WindowDestroyed As Action(Of Transform) -- uid: Battlehub.RTEditor.IWindowManager.ActiveWorkspace - commentId: P:Battlehub.RTEditor.IWindowManager.ActiveWorkspace - id: ActiveWorkspace - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ActiveWorkspace - nameWithType: IWindowManager.ActiveWorkspace - fullName: Battlehub.RTEditor.IWindowManager.ActiveWorkspace - type: Property - source: - id: ActiveWorkspace - path: '' - startLine: 34495 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nIWindowManager can be used to work with multiple workspaces.\n" - example: [] - syntax: - content: Workspace ActiveWorkspace { get; set; } - parameters: [] - return: - type: Battlehub.RTEditor.Workspace - content.vb: Property ActiveWorkspace As Workspace - overload: Battlehub.RTEditor.IWindowManager.ActiveWorkspace* - modifiers.csharp: - - get - - set -- uid: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String) - id: CreateLayoutInfo(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateLayoutInfo(String) - nameWithType: IWindowManager.CreateLayoutInfo(String) - fullName: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String) - type: Method - source: - id: CreateLayoutInfo - path: '' - startLine: 34508 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates a LayoutInfo object for the window of windowTypeName (creates a window as a side effect).\n\nThis function and its overrides should be used when creating different "layouts". See BuiltInWindowNames for common window type names.\n" - example: [] - syntax: - content: LayoutInfo CreateLayoutInfo(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Type of window to be created - return: - type: Global.LayoutInfo - description: LayoutInfo. - content.vb: Function CreateLayoutInfo(windowTypeName As String) As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo* -- uid: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String,System.String) - id: CreateLayoutInfo(System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateLayoutInfo(String, String) - nameWithType: IWindowManager.CreateLayoutInfo(String, String) - fullName: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(System.String, System.String) - type: Method - source: - id: CreateLayoutInfo - path: '' - startLine: 34516 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates a LayoutInfo object for the window of windowTypeName (creates a window as a side effect).\n" - example: [] - syntax: - content: LayoutInfo CreateLayoutInfo(string windowTypeName, string args) - parameters: - - id: windowTypeName - type: System.String - description: Type of window to be created. - - id: args - type: System.String - description: Optional arguments can be obtained using the RuntimeWindow.Args property. - return: - type: Global.LayoutInfo - description: LayoutInfo. - content.vb: Function CreateLayoutInfo(windowTypeName As String, args As String) As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo* -- uid: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,Battlehub.RTEditor.WindowDescriptor) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,Battlehub.RTEditor.WindowDescriptor) - id: CreateLayoutInfo(Transform,Battlehub.RTEditor.WindowDescriptor) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateLayoutInfo(Transform, WindowDescriptor) - nameWithType: IWindowManager.CreateLayoutInfo(Transform, WindowDescriptor) - fullName: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform, Battlehub.RTEditor.WindowDescriptor) - type: Method - source: - id: CreateLayoutInfo - path: '' - startLine: 34524 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates a LayoutInfo object for the window (creates a window as a side effect).\n" - example: [] - syntax: - content: LayoutInfo CreateLayoutInfo(Transform content, WindowDescriptor desc) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - - id: desc - type: Battlehub.RTEditor.WindowDescriptor - description: Object that describes an icon, a header, a tab and provides information about how many windows of that type can be created. - return: - type: Global.LayoutInfo - description: LayoutInfo. - content.vb: Function CreateLayoutInfo(content As Transform, desc As WindowDescriptor) As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo* -- uid: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,System.String,Sprite) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform,System.String,Sprite) - id: CreateLayoutInfo(Transform,System.String,Sprite) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateLayoutInfo(Transform, String, Sprite) - nameWithType: IWindowManager.CreateLayoutInfo(Transform, String, Sprite) - fullName: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo(Transform, System.String, Sprite) - type: Method - source: - id: CreateLayoutInfo - path: '' - startLine: 34533 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates a LayoutInfo object for the window (creates a window as a side effect).\n" - example: [] - syntax: - content: LayoutInfo CreateLayoutInfo(Transform content, string header, Sprite icon) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - - id: header - type: System.String - description: Header text. - - id: icon - type: Global.Sprite - description: Header icon. - return: - type: Global.LayoutInfo - description: LayoutInfo. - content.vb: Function CreateLayoutInfo(content As Transform, header As String, icon As Sprite) As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo* -- uid: Battlehub.RTEditor.IWindowManager.ValidateLayout(LayoutInfo) - commentId: M:Battlehub.RTEditor.IWindowManager.ValidateLayout(LayoutInfo) - id: ValidateLayout(LayoutInfo) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ValidateLayout(LayoutInfo) - nameWithType: IWindowManager.ValidateLayout(LayoutInfo) - fullName: Battlehub.RTEditor.IWindowManager.ValidateLayout(LayoutInfo) - type: Method - source: - id: ValidateLayout - path: '' - startLine: 34540 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nValidates layout.\n" - example: [] - syntax: - content: bool ValidateLayout(LayoutInfo layout) - parameters: - - id: layout - type: Global.LayoutInfo - description: LayoutInfo object. - return: - type: System.Boolean - description: True if layout is valid. - content.vb: Function ValidateLayout(layout As LayoutInfo) As Boolean - overload: Battlehub.RTEditor.IWindowManager.ValidateLayout* -- uid: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - id: OverrideDefaultLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: OverrideDefaultLayout(Func, String) - nameWithType: IWindowManager.OverrideDefaultLayout(Func, String) - fullName: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func, System.String) - type: Method - source: - id: OverrideDefaultLayout - path: '' - startLine: 34547 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nOverrides default layout builder function.\n" - example: [] - syntax: - content: void OverrideDefaultLayout(Func layoutBuilderFunc, string activateWindowOfType = null) - parameters: - - id: layoutBuilderFunc - type: Global.Func{Battlehub.RTEditor.IWindowManager,LayoutInfo} - description: Layout builder function. - - id: activateWindowOfType - type: System.String - description: Type of the window to activate after building layout. - content.vb: Sub OverrideDefaultLayout(layoutBuilderFunc As Func(Of IWindowManager, LayoutInfo), activateWindowOfType As String = Nothing) - overload: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout* - nameWithType.vb: IWindowManager.OverrideDefaultLayout(Func(Of IWindowManager, LayoutInfo), String) - fullName.vb: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout(Func(Of Battlehub.RTEditor.IWindowManager, LayoutInfo), System.String) - name.vb: OverrideDefaultLayout(Func(Of IWindowManager, LayoutInfo), String) -- uid: Battlehub.RTEditor.IWindowManager.SetDefaultLayout - commentId: M:Battlehub.RTEditor.IWindowManager.SetDefaultLayout - id: SetDefaultLayout - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetDefaultLayout() - nameWithType: IWindowManager.SetDefaultLayout() - fullName: Battlehub.RTEditor.IWindowManager.SetDefaultLayout() - type: Method - source: - id: SetDefaultLayout - path: '' - startLine: 34552 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nRebuilds the layout using the default layout builder function.\n" - example: [] - syntax: - content: void SetDefaultLayout() - content.vb: Sub SetDefaultLayout - overload: Battlehub.RTEditor.IWindowManager.SetDefaultLayout* -- uid: Battlehub.RTEditor.IWindowManager.SetLayout(Func{LayoutInfo},System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.SetLayout(Func{LayoutInfo},System.String) - id: SetLayout(Func{LayoutInfo},System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetLayout(Func, String) - nameWithType: IWindowManager.SetLayout(Func, String) - fullName: Battlehub.RTEditor.IWindowManager.SetLayout(Func, System.String) - type: Method - source: - id: SetLayout - path: '' - startLine: 34559 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nBuilds layout using layout builder function.\n" - example: [] - syntax: - content: void SetLayout(Func layoutBuilderFunc, string activateWindowOfType = null) - parameters: - - id: layoutBuilderFunc - type: Global.Func{LayoutInfo} - description: Layout builder function. - - id: activateWindowOfType - type: System.String - description: Type of the window to activate after building layout. - content.vb: Sub SetLayout(layoutBuilderFunc As Func(Of LayoutInfo), activateWindowOfType As String = Nothing) - overload: Battlehub.RTEditor.IWindowManager.SetLayout* - nameWithType.vb: IWindowManager.SetLayout(Func(Of LayoutInfo), String) - fullName.vb: Battlehub.RTEditor.IWindowManager.SetLayout(Func(Of LayoutInfo), System.String) - name.vb: SetLayout(Func(Of LayoutInfo), String) -- uid: Battlehub.RTEditor.IWindowManager.SetLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.SetLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - id: SetLayout(Func{Battlehub.RTEditor.IWindowManager,LayoutInfo},System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetLayout(Func, String) - nameWithType: IWindowManager.SetLayout(Func, String) - fullName: Battlehub.RTEditor.IWindowManager.SetLayout(Func, System.String) - type: Method - source: - id: SetLayout - path: '' - startLine: 34566 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nBuilds layout using layout builder function.\n" - example: [] - syntax: - content: void SetLayout(Func layoutBuilderFunc, string activateWindowOfType = null) - parameters: - - id: layoutBuilderFunc - type: Global.Func{Battlehub.RTEditor.IWindowManager,LayoutInfo} - description: Layout builder function. - - id: activateWindowOfType - type: System.String - description: Type of the window to activate after building layout. - content.vb: Sub SetLayout(layoutBuilderFunc As Func(Of IWindowManager, LayoutInfo), activateWindowOfType As String = Nothing) - overload: Battlehub.RTEditor.IWindowManager.SetLayout* - nameWithType.vb: IWindowManager.SetLayout(Func(Of IWindowManager, LayoutInfo), String) - fullName.vb: Battlehub.RTEditor.IWindowManager.SetLayout(Func(Of Battlehub.RTEditor.IWindowManager, LayoutInfo), System.String) - name.vb: SetLayout(Func(Of IWindowManager, LayoutInfo), String) -- uid: Battlehub.RTEditor.IWindowManager.GetLayout - commentId: M:Battlehub.RTEditor.IWindowManager.GetLayout - id: GetLayout - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetLayout() - nameWithType: IWindowManager.GetLayout() - fullName: Battlehub.RTEditor.IWindowManager.GetLayout() - type: Method - source: - id: GetLayout - path: '' - startLine: 34572 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates LayoutInfo object describing current layout.\n" - example: [] - syntax: - content: LayoutInfo GetLayout() - return: - type: Global.LayoutInfo - description: '' - content.vb: Function GetLayout As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.GetLayout* -- uid: Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,Battlehub.RTEditor.WindowDescriptor) - commentId: M:Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,Battlehub.RTEditor.WindowDescriptor) - id: OverrideWindow(System.String,Battlehub.RTEditor.WindowDescriptor) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: OverrideWindow(String, WindowDescriptor) - nameWithType: IWindowManager.OverrideWindow(String, WindowDescriptor) - fullName: Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String, Battlehub.RTEditor.WindowDescriptor) - type: Method - source: - id: OverrideWindow - path: '' - startLine: 34579 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nOverrides the WindowDescriptor of a registered window.\n" - example: [] - syntax: - content: void OverrideWindow(string windowTypeName, WindowDescriptor descriptor) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: descriptor - type: Battlehub.RTEditor.WindowDescriptor - description: Window descriptor. - content.vb: Sub OverrideWindow(windowTypeName As String, descriptor As WindowDescriptor) - overload: Battlehub.RTEditor.IWindowManager.OverrideWindow* -- uid: Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,GameObject) - commentId: M:Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String,GameObject) - id: OverrideWindow(System.String,GameObject) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: OverrideWindow(String, GameObject) - nameWithType: IWindowManager.OverrideWindow(String, GameObject) - fullName: Battlehub.RTEditor.IWindowManager.OverrideWindow(System.String, GameObject) - type: Method - source: - id: OverrideWindow - path: '' - startLine: 34586 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nOverrides the prefab of a registered window. \n" - example: [] - syntax: - content: void OverrideWindow(string windowTypeName, GameObject prefab) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: prefab - type: Global.GameObject - content.vb: Sub OverrideWindow(windowTypeName As String, prefab As GameObject) - overload: Battlehub.RTEditor.IWindowManager.OverrideWindow* -- uid: Battlehub.RTEditor.IWindowManager.OverrideTools(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.OverrideTools(Transform) - id: OverrideTools(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: OverrideTools(Transform) - nameWithType: IWindowManager.OverrideTools(Transform) - fullName: Battlehub.RTEditor.IWindowManager.OverrideTools(Transform) - type: Method - source: - id: OverrideTools - path: '' - startLine: 34592 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nOverrides header tools (play, pause, pivot mode and various toggles).\n" - example: [] - syntax: - content: void OverrideTools(Transform toolsPrefab) - parameters: - - id: toolsPrefab - type: Global.Transform - description: Tools prefab transform. - content.vb: Sub OverrideTools(toolsPrefab As Transform) - overload: Battlehub.RTEditor.IWindowManager.OverrideTools* -- uid: Battlehub.RTEditor.IWindowManager.SetTools(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.SetTools(Transform) - id: SetTools(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetTools(Transform) - nameWithType: IWindowManager.SetTools(Transform) - fullName: Battlehub.RTEditor.IWindowManager.SetTools(Transform) - type: Method - source: - id: SetTools - path: '' - startLine: 34598 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets header tools.\n" - example: [] - syntax: - content: void SetTools(Transform tools) - parameters: - - id: tools - type: Global.Transform - description: Content transform. - content.vb: Sub SetTools(tools As Transform) - overload: Battlehub.RTEditor.IWindowManager.SetTools* -- uid: Battlehub.RTEditor.IWindowManager.SetLeftBar(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.SetLeftBar(Transform) - id: SetLeftBar(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetLeftBar(Transform) - nameWithType: IWindowManager.SetLeftBar(Transform) - fullName: Battlehub.RTEditor.IWindowManager.SetLeftBar(Transform) - type: Method - source: - id: SetLeftBar - path: '' - startLine: 34604 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets left bar.\n" - example: [] - syntax: - content: void SetLeftBar(Transform leftBar) - parameters: - - id: leftBar - type: Global.Transform - description: Left bar transform. - content.vb: Sub SetLeftBar(leftBar As Transform) - overload: Battlehub.RTEditor.IWindowManager.SetLeftBar* -- uid: Battlehub.RTEditor.IWindowManager.SetRightBar(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.SetRightBar(Transform) - id: SetRightBar(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetRightBar(Transform) - nameWithType: IWindowManager.SetRightBar(Transform) - fullName: Battlehub.RTEditor.IWindowManager.SetRightBar(Transform) - type: Method - source: - id: SetRightBar - path: '' - startLine: 34610 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets right bar.\n" - example: [] - syntax: - content: void SetRightBar(Transform rightBar) - parameters: - - id: rightBar - type: Global.Transform - description: Right bar transform. - content.vb: Sub SetRightBar(rightBar As Transform) - overload: Battlehub.RTEditor.IWindowManager.SetRightBar* -- uid: Battlehub.RTEditor.IWindowManager.SetTopBar(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.SetTopBar(Transform) - id: SetTopBar(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetTopBar(Transform) - nameWithType: IWindowManager.SetTopBar(Transform) - fullName: Battlehub.RTEditor.IWindowManager.SetTopBar(Transform) - type: Method - source: - id: SetTopBar - path: '' - startLine: 34616 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets top bar.\n" - example: [] - syntax: - content: void SetTopBar(Transform topBar) - parameters: - - id: topBar - type: Global.Transform - description: Top bar transform. - content.vb: Sub SetTopBar(topBar As Transform) - overload: Battlehub.RTEditor.IWindowManager.SetTopBar* -- uid: Battlehub.RTEditor.IWindowManager.SetBottomBar(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.SetBottomBar(Transform) - id: SetBottomBar(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetBottomBar(Transform) - nameWithType: IWindowManager.SetBottomBar(Transform) - fullName: Battlehub.RTEditor.IWindowManager.SetBottomBar(Transform) - type: Method - source: - id: SetBottomBar - path: '' - startLine: 34622 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets bottom bar.\n" - example: [] - syntax: - content: void SetBottomBar(Transform bottomBar) - parameters: - - id: bottomBar - type: Global.Transform - description: Bottom bar transform. - content.vb: Sub SetBottomBar(bottomBar As Transform) - overload: Battlehub.RTEditor.IWindowManager.SetBottomBar* -- uid: Battlehub.RTEditor.IWindowManager.IsWindowRegistered(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.IsWindowRegistered(System.String) - id: IsWindowRegistered(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: IsWindowRegistered(String) - nameWithType: IWindowManager.IsWindowRegistered(String) - fullName: Battlehub.RTEditor.IWindowManager.IsWindowRegistered(System.String) - type: Method - source: - id: IsWindowRegistered - path: '' - startLine: 34629 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nDetermines whether a window of the type registered.\n" - example: [] - syntax: - content: bool IsWindowRegistered(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: System.Boolean - description: True if window of type registered. - content.vb: Function IsWindowRegistered(windowTypeName As String) As Boolean - overload: Battlehub.RTEditor.IWindowManager.IsWindowRegistered* -- uid: Battlehub.RTEditor.IWindowManager.RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor) - commentId: M:Battlehub.RTEditor.IWindowManager.RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor) - id: RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: RegisterWindow(CustomWindowDescriptor) - nameWithType: IWindowManager.RegisterWindow(CustomWindowDescriptor) - fullName: Battlehub.RTEditor.IWindowManager.RegisterWindow(Battlehub.RTEditor.CustomWindowDescriptor) - type: Method - source: - id: RegisterWindow - path: '' - startLine: 34636 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nRegisters window.\n" - example: [] - syntax: - content: bool RegisterWindow(CustomWindowDescriptor desc) - parameters: - - id: desc - type: Battlehub.RTEditor.CustomWindowDescriptor - description: Window descriptor. - return: - type: System.Boolean - description: True if registration succeeded. - content.vb: Function RegisterWindow(desc As CustomWindowDescriptor) As Boolean - overload: Battlehub.RTEditor.IWindowManager.RegisterWindow* -- uid: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String,System.Boolean@) - commentId: M:Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String,System.Boolean@) - id: GetWindowDescriptor(System.String,System.Boolean@) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetWindowDescriptor(String, out Boolean) - nameWithType: IWindowManager.GetWindowDescriptor(String, out Boolean) - fullName: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String, out System.Boolean) - type: Method - source: - id: GetWindowDescriptor - path: '' - startLine: 34644 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets window descriptor.\n" - example: [] - syntax: - content: WindowDescriptor GetWindowDescriptor(string windowTypeName, out bool isDialog) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: isDialog - type: System.Boolean - description: Is true if the window is a dialog. - return: - type: Battlehub.RTEditor.WindowDescriptor - description: Window descriptor. - content.vb: Function GetWindowDescriptor(windowTypeName As String, ByRef isDialog As Boolean) As WindowDescriptor - overload: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor* - nameWithType.vb: IWindowManager.GetWindowDescriptor(String, ByRef Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor(System.String, ByRef System.Boolean) - name.vb: GetWindowDescriptor(String, ByRef Boolean) -- uid: Battlehub.RTEditor.IWindowManager.GetWindowTypeName(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.GetWindowTypeName(Transform) - id: GetWindowTypeName(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetWindowTypeName(Transform) - nameWithType: IWindowManager.GetWindowTypeName(Transform) - fullName: Battlehub.RTEditor.IWindowManager.GetWindowTypeName(Transform) - type: Method - source: - id: GetWindowTypeName - path: '' - startLine: 34651 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets window type name.\n" - example: [] - syntax: - content: string GetWindowTypeName(Transform content) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - return: - type: System.String - description: Window type name - content.vb: Function GetWindowTypeName(content As Transform) As String - overload: Battlehub.RTEditor.IWindowManager.GetWindowTypeName* -- uid: Battlehub.RTEditor.IWindowManager.GetWindow(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.GetWindow(System.String) - id: GetWindow(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetWindow(String) - nameWithType: IWindowManager.GetWindow(String) - fullName: Battlehub.RTEditor.IWindowManager.GetWindow(System.String) - type: Method - source: - id: GetWindow - path: '' - startLine: 34658 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets window transform by type.\n" - example: [] - syntax: - content: Transform GetWindow(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: Global.Transform - description: Window transform. - content.vb: Function GetWindow(windowTypeName As String) As Transform - overload: Battlehub.RTEditor.IWindowManager.GetWindow* -- uid: Battlehub.RTEditor.IWindowManager.GetWindows - commentId: M:Battlehub.RTEditor.IWindowManager.GetWindows - id: GetWindows - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetWindows() - nameWithType: IWindowManager.GetWindows() - fullName: Battlehub.RTEditor.IWindowManager.GetWindows() - type: Method - source: - id: GetWindows - path: '' - startLine: 34664 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets transforms of all windows .\n" - example: [] - syntax: - content: Transform[] GetWindows() - return: - type: Global.Transform[] - description: Array of transforms. - content.vb: Function GetWindows As Transform() - overload: Battlehub.RTEditor.IWindowManager.GetWindows* -- uid: Battlehub.RTEditor.IWindowManager.GetWindows(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.GetWindows(System.String) - id: GetWindows(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetWindows(String) - nameWithType: IWindowManager.GetWindows(String) - fullName: Battlehub.RTEditor.IWindowManager.GetWindows(System.String) - type: Method - source: - id: GetWindows - path: '' - startLine: 34671 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets transfroms of windows of type.\n" - example: [] - syntax: - content: Transform[] GetWindows(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: Global.Transform[] - description: Array of transforms. - content.vb: Function GetWindows(windowTypeName As String) As Transform() - overload: Battlehub.RTEditor.IWindowManager.GetWindows* -- uid: Battlehub.RTEditor.IWindowManager.GetComponents(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.GetComponents(Transform) - id: GetComponents(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetComponents(Transform) - nameWithType: IWindowManager.GetComponents(Transform) - fullName: Battlehub.RTEditor.IWindowManager.GetComponents(Transform) - type: Method - source: - id: GetComponents - path: '' - startLine: 34678 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets extra components associated with the window.\n" - example: [] - syntax: - content: Transform[] GetComponents(Transform content) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - return: - type: Global.Transform[] - description: Array of extra components. - content.vb: Function GetComponents(content As Transform) As Transform() - overload: Battlehub.RTEditor.IWindowManager.GetComponents* -- uid: Battlehub.RTEditor.IWindowManager.Exists(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Exists(System.String) - id: Exists(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Exists(String) - nameWithType: IWindowManager.Exists(String) - fullName: Battlehub.RTEditor.IWindowManager.Exists(System.String) - type: Method - source: - id: Exists - path: '' - startLine: 34685 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nChecks if window of type exists.\n" - example: [] - syntax: - content: bool Exists(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: System.Boolean - description: True if window exists. - content.vb: Function Exists(windowTypeName As String) As Boolean - overload: Battlehub.RTEditor.IWindowManager.Exists* -- uid: Battlehub.RTEditor.IWindowManager.IsActive(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.IsActive(System.String) - id: IsActive(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: IsActive(String) - nameWithType: IWindowManager.IsActive(String) - fullName: Battlehub.RTEditor.IWindowManager.IsActive(System.String) - type: Method - source: - id: IsActive - path: '' - startLine: 34692 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nChecks if the window of this type is in an active state (e.g., if it can receive input).\n" - example: [] - syntax: - content: bool IsActive(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: System.Boolean - description: True if window is active. - content.vb: Function IsActive(windowTypeName As String) As Boolean - overload: Battlehub.RTEditor.IWindowManager.IsActive* -- uid: Battlehub.RTEditor.IWindowManager.IsActive(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.IsActive(Transform) - id: IsActive(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: IsActive(Transform) - nameWithType: IWindowManager.IsActive(Transform) - fullName: Battlehub.RTEditor.IWindowManager.IsActive(Transform) - type: Method - source: - id: IsActive - path: '' - startLine: 34699 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nChecks if the window in in active state (e.g., if it can receive input).\n" - example: [] - syntax: - content: bool IsActive(Transform content) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - return: - type: System.Boolean - description: True if window is active. - content.vb: Function IsActive(content As Transform) As Boolean - overload: Battlehub.RTEditor.IWindowManager.IsActive* -- uid: Battlehub.RTEditor.IWindowManager.FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow) - commentId: M:Battlehub.RTEditor.IWindowManager.FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow) - id: FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: FindPointerOverWindow(RuntimeWindow) - nameWithType: IWindowManager.FindPointerOverWindow(RuntimeWindow) - fullName: Battlehub.RTEditor.IWindowManager.FindPointerOverWindow(Battlehub.RTCommon.RuntimeWindow) - type: Method - source: - id: FindPointerOverWindow - path: '' - startLine: 34706 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nFinds the uppermost window to which pointer is pointing.\n" - example: [] - syntax: - content: Transform FindPointerOverWindow(RuntimeWindow exceptWindow) - parameters: - - id: exceptWindow - type: Battlehub.RTCommon.RuntimeWindow - description: Except window. - return: - type: Global.Transform - description: Transform of the uppermost window to which pointer is pointing. - content.vb: Function FindPointerOverWindow(exceptWindow As RuntimeWindow) As Transform - overload: Battlehub.RTEditor.IWindowManager.FindPointerOverWindow* -- uid: Battlehub.RTEditor.IWindowManager.ActivateWindow(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.ActivateWindow(System.String) - id: ActivateWindow(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ActivateWindow(String) - nameWithType: IWindowManager.ActivateWindow(String) - fullName: Battlehub.RTEditor.IWindowManager.ActivateWindow(System.String) - type: Method - source: - id: ActivateWindow - path: '' - startLine: 34713 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nActivates window of type.\n" - example: [] - syntax: - content: bool ActivateWindow(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - return: - type: System.Boolean - description: True if the window is activated. - content.vb: Function ActivateWindow(windowTypeName As String) As Boolean - overload: Battlehub.RTEditor.IWindowManager.ActivateWindow* -- uid: Battlehub.RTEditor.IWindowManager.ActivateWindow(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.ActivateWindow(Transform) - id: ActivateWindow(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ActivateWindow(Transform) - nameWithType: IWindowManager.ActivateWindow(Transform) - fullName: Battlehub.RTEditor.IWindowManager.ActivateWindow(Transform) - type: Method - source: - id: ActivateWindow - path: '' - startLine: 34720 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nActivates window of type.\n" - example: [] - syntax: - content: bool ActivateWindow(Transform content) - parameters: - - id: content - type: Global.Transform - return: - type: System.Boolean - description: True if the window is activated. - content.vb: Function ActivateWindow(content As Transform) As Boolean - overload: Battlehub.RTEditor.IWindowManager.ActivateWindow* -- uid: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@) - id: CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateWindow(String, out WindowDescriptor) - nameWithType: IWindowManager.CreateWindow(String, out WindowDescriptor) - fullName: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, out Battlehub.RTEditor.WindowDescriptor) - type: Method - source: - id: CreateWindow - path: '' - startLine: 34728 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates window of type (this function is mainly used when creating layouts).\n" - example: [] - syntax: - content: Transform CreateWindow(string windowTypeName, out WindowDescriptor wd) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. See BuiltInWindowNames for common window type names. - - id: wd - type: Battlehub.RTEditor.WindowDescriptor - description: The descriptor of the created window. - return: - type: Global.Transform - description: Transform of the created window. - content.vb: Function CreateWindow(windowTypeName As String, ByRef wd As WindowDescriptor) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateWindow* - nameWithType.vb: IWindowManager.CreateWindow(String, ByRef WindowDescriptor) - fullName.vb: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, ByRef Battlehub.RTEditor.WindowDescriptor) - name.vb: CreateWindow(String, ByRef WindowDescriptor) -- uid: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,System.Boolean@) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,System.Boolean@) - id: CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,System.Boolean@) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateWindow(String, out WindowDescriptor, out Boolean) - nameWithType: IWindowManager.CreateWindow(String, out WindowDescriptor, out Boolean) - fullName: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, out Battlehub.RTEditor.WindowDescriptor, out System.Boolean) - type: Method - source: - id: CreateWindow - path: '' - startLine: 34737 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates window of type (this function is mainly used when creating layouts).\n" - example: [] - syntax: - content: Transform CreateWindow(string windowTypeName, out WindowDescriptor wd, out bool isDialog) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. See BuiltInWindowNames for common window type names. - - id: wd - type: Battlehub.RTEditor.WindowDescriptor - description: The descriptor of the created window. - - id: isDialog - type: System.Boolean - description: True if created window is dialog. - return: - type: Global.Transform - description: Transform of the created window. - content.vb: Function CreateWindow(windowTypeName As String, ByRef wd As WindowDescriptor, ByRef isDialog As Boolean) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateWindow* - nameWithType.vb: IWindowManager.CreateWindow(String, ByRef WindowDescriptor, ByRef Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, ByRef Battlehub.RTEditor.WindowDescriptor, ByRef System.Boolean) - name.vb: CreateWindow(String, ByRef WindowDescriptor, ByRef Boolean) -- uid: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,GameObject@,System.Boolean@) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,GameObject@,System.Boolean@) - id: CreateWindow(System.String,Battlehub.RTEditor.WindowDescriptor@,GameObject@,System.Boolean@) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateWindow(String, out WindowDescriptor, out GameObject, out Boolean) - nameWithType: IWindowManager.CreateWindow(String, out WindowDescriptor, out GameObject, out Boolean) - fullName: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, out Battlehub.RTEditor.WindowDescriptor, out GameObject, out System.Boolean) - type: Method - source: - id: CreateWindow - path: '' - startLine: 34739 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: Transform CreateWindow(string windowTypeName, out WindowDescriptor wd, out GameObject content, out bool isDialog) - parameters: - - id: windowTypeName - type: System.String - - id: wd - type: Battlehub.RTEditor.WindowDescriptor - - id: content - type: Global.GameObject - - id: isDialog - type: System.Boolean - return: - type: Global.Transform - content.vb: Function CreateWindow(windowTypeName As String, ByRef wd As WindowDescriptor, ByRef content As GameObject, ByRef isDialog As Boolean) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateWindow* - nameWithType.vb: IWindowManager.CreateWindow(String, ByRef WindowDescriptor, ByRef GameObject, ByRef Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, ByRef Battlehub.RTEditor.WindowDescriptor, ByRef GameObject, ByRef System.Boolean) - name.vb: CreateWindow(String, ByRef WindowDescriptor, ByRef GameObject, ByRef Boolean) -- uid: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,System.Boolean,RegionSplitType,System.Single,Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateWindow(System.String,System.Boolean,RegionSplitType,System.Single,Transform) - id: CreateWindow(System.String,System.Boolean,RegionSplitType,System.Single,Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateWindow(String, Boolean, RegionSplitType, Single, Transform) - nameWithType: IWindowManager.CreateWindow(String, Boolean, RegionSplitType, Single, Transform) - fullName: Battlehub.RTEditor.IWindowManager.CreateWindow(System.String, System.Boolean, RegionSplitType, System.Single, Transform) - type: Method - source: - id: CreateWindow - path: '' - startLine: 34750 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates window of type.\n" - example: [] - syntax: - content: Transform CreateWindow(string windowTypeName, bool isFree = true, RegionSplitType splitType = null, float flexibleSize = 0.3F, Transform parentWindow = null) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: isFree - type: System.Boolean - description: True if windows are to be created in the floating state, and false if in the docked state. - - id: splitType - type: Global.RegionSplitType - description: Determines how to dock the window. - - id: flexibleSize - type: System.Single - description: Window size relative to the docked neighbor [0, 1]. - - id: parentWindow - type: Global.Transform - description: Transform of the window with which a group of tabs will be formed or which will be the neighbor of the created window. - return: - type: Global.Transform - description: Transform of the created window. - content.vb: Function CreateWindow(windowTypeName As String, isFree As Boolean = True, splitType As RegionSplitType = Nothing, flexibleSize As Single = 0.3F, parentWindow As Transform = Nothing) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateWindow* -- uid: Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,System.Boolean,System.Single,System.Single) - id: CreatePopup(System.String,System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreatePopup(String, Boolean, Single, Single) - nameWithType: IWindowManager.CreatePopup(String, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.CreatePopup(System.String, System.Boolean, System.Single, System.Single) - type: Method - source: - id: CreatePopup - path: '' - startLine: 34760 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates popup window of type.\n" - example: [] - syntax: - content: Transform CreatePopup(string windowTypeName, bool canResize = false, float minWidth = 10F, float minHeight = 10F) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: canResize - type: System.Boolean - description: True to be able to resize the popup. - - id: minWidth - type: System.Single - description: Minimum width of the pop-up window. - - id: minHeight - type: System.Single - description: Minimum height of the pop-up window. - return: - type: Global.Transform - description: Transform of the created popup window. - content.vb: Function CreatePopup(windowTypeName As String, canResize As Boolean = False, minWidth As Single = 10F, minHeight As Single = 10F) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreatePopup* -- uid: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform,Vector3,Vector2@) - commentId: M:Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform,Vector3,Vector2@) - id: ScreenPointToLocalPointInRectangle(RectTransform,Vector3,Vector2@) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ScreenPointToLocalPointInRectangle(RectTransform, Vector3, out Vector2) - nameWithType: IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform, Vector3, out Vector2) - fullName: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform, Vector3, out Vector2) - type: Method - source: - id: ScreenPointToLocalPointInRectangle - path: '' - startLine: 34769 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nTransform a screen space point to a position in the local space of a RectTransform that is on the plane of its rectangle.\n" - example: [] - syntax: - content: bool ScreenPointToLocalPointInRectangle(RectTransform rectTransform, Vector3 screenPoint, out Vector2 position) - parameters: - - id: rectTransform - type: Global.RectTransform - description: The RectTransform to find a point inside. - - id: screenPoint - type: Global.Vector3 - description: Screen space position. - - id: position - type: Global.Vector2 - description: Point in local space of the rect transform. - return: - type: System.Boolean - description: true if the plane of the RectTransform is hit, regardless of whether the point is inside the rectangle. - content.vb: Function ScreenPointToLocalPointInRectangle(rectTransform As RectTransform, screenPoint As Vector3, ByRef position As Vector2) As Boolean - overload: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle* - nameWithType.vb: IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform, Vector3, ByRef Vector2) - fullName.vb: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle(RectTransform, Vector3, ByRef Vector2) - name.vb: ScreenPointToLocalPointInRectangle(RectTransform, Vector3, ByRef Vector2) -- uid: Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,Vector2,System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.CreatePopup(System.String,Vector2,System.Boolean,System.Single,System.Single) - id: CreatePopup(System.String,Vector2,System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreatePopup(String, Vector2, Boolean, Single, Single) - nameWithType: IWindowManager.CreatePopup(String, Vector2, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.CreatePopup(System.String, Vector2, System.Boolean, System.Single, System.Single) - type: Method - source: - id: CreatePopup - path: '' - startLine: 34780 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates popup window of type\n" - example: [] - syntax: - content: Transform CreatePopup(string windowTypeName, Vector2 position, bool canResize = false, float minWidth = 10F, float minHeight = 10F) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: position - type: Global.Vector2 - description: Position in IWindowManager.PopupRoot coordinates. - - id: canResize - type: System.Boolean - description: True to be able to resize the popup. - - id: minWidth - type: System.Single - description: Minimum width of the pop-up window. - - id: minHeight - type: System.Single - description: Minimum height of the pop-up window. - return: - type: Global.Transform - description: Transform of the created popup window. - content.vb: Function CreatePopup(windowTypeName As String, position As Vector2, canResize As Boolean = False, minWidth As Single = 10F, minHeight As Single = 10F) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreatePopup* -- uid: Battlehub.RTEditor.IWindowManager.CreateDropdown(System.String,RectTransform,System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateDropdown(System.String,RectTransform,System.Boolean,System.Single,System.Single) - id: CreateDropdown(System.String,RectTransform,System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateDropdown(String, RectTransform, Boolean, Single, Single) - nameWithType: IWindowManager.CreateDropdown(String, RectTransform, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.CreateDropdown(System.String, RectTransform, System.Boolean, System.Single, System.Single) - type: Method - source: - id: CreateDropdown - path: '' - startLine: 34791 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dropdown window of type.\n" - example: [] - syntax: - content: Transform CreateDropdown(string windowTypeName, RectTransform anchor, bool canResize = false, float minWidth = 10F, float minHeight = 10F) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: anchor - type: Global.RectTransform - description: The RectTransform of dropdown anchor. - - id: canResize - type: System.Boolean - description: True to be able to resize the dropdown. - - id: minWidth - type: System.Single - description: Minimum width of the pop-up window. - - id: minHeight - type: System.Single - description: Minimum height of the pop-up window. - return: - type: Global.Transform - description: '' - content.vb: Function CreateDropdown(windowTypeName As String, anchor As RectTransform, canResize As Boolean = False, minWidth As Single = 10F, minHeight As Single = 10F) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateDropdown* -- uid: Battlehub.RTEditor.IWindowManager.SetWindowArgs(Transform,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.SetWindowArgs(Transform,System.String) - id: SetWindowArgs(Transform,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetWindowArgs(Transform, String) - nameWithType: IWindowManager.SetWindowArgs(Transform, String) - fullName: Battlehub.RTEditor.IWindowManager.SetWindowArgs(Transform, System.String) - type: Method - source: - id: SetWindowArgs - path: '' - startLine: 34798 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets window arguments.\n" - example: [] - syntax: - content: void SetWindowArgs(Transform content, string args) - parameters: - - id: content - type: Global.Transform - description: Transform of the window. - - id: args - type: System.String - description: Arguments. - content.vb: Sub SetWindowArgs(content As Transform, args As String) - overload: Battlehub.RTEditor.IWindowManager.SetWindowArgs* -- uid: Battlehub.RTEditor.IWindowManager.DestroyWindow(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.DestroyWindow(Transform) - id: DestroyWindow(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: DestroyWindow(Transform) - nameWithType: IWindowManager.DestroyWindow(Transform) - fullName: Battlehub.RTEditor.IWindowManager.DestroyWindow(Transform) - type: Method - source: - id: DestroyWindow - path: '' - startLine: 34804 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nDestroys window.\n" - example: [] - syntax: - content: void DestroyWindow(Transform conent) - parameters: - - id: conent - type: Global.Transform - description: Transform of the window. - content.vb: Sub DestroyWindow(conent As Transform) - overload: Battlehub.RTEditor.IWindowManager.DestroyWindow* -- uid: Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType(System.String) - id: DestroyWindowsOfType(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: DestroyWindowsOfType(String) - nameWithType: IWindowManager.DestroyWindowsOfType(String) - fullName: Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType(System.String) - type: Method - source: - id: DestroyWindowsOfType - path: '' - startLine: 34810 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nDestroys window of type.\n" - example: [] - syntax: - content: void DestroyWindowsOfType(string windowTypeName) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - content.vb: Sub DestroyWindowsOfType(windowTypeName As String) - overload: Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType* -- uid: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Boolean,System.Single,System.Single) - id: CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateDialogWindow(String, String, DialogAction, DialogAction, Boolean, Single, Single) - nameWithType: IWindowManager.CreateDialogWindow(String, String, DialogAction, DialogAction, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String, System.String, DialogAction, DialogAction, System.Boolean, System.Single, System.Single) - type: Method - source: - id: CreateDialogWindow - path: '' - startLine: 34823 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog window.\n" - example: [] - syntax: - content: Transform CreateDialogWindow(string windowTypeName, string header, DialogAction okAction, DialogAction cancelAction, bool canResize, float minWidth = 50F, float minHeight = 50F) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: header - type: System.String - description: Dialog header text. - - id: okAction - type: Global.DialogAction{DialogCancelArgs} - description: The action to take when the OK button is clicked. - - id: cancelAction - type: Global.DialogAction{DialogCancelArgs} - description: The action to take when the Cancel button is clicked. - - id: canResize - type: System.Boolean - description: True to be able to resize the dialog. - - id: minWidth - type: System.Single - description: Minimum width of the pop-up window. - - id: minHeight - type: System.Single - description: Minimum height of the pop-up window. - return: - type: Global.Transform - description: '' - content.vb: Function CreateDialogWindow(windowTypeName As String, header As String, okAction As DialogAction(Of DialogCancelArgs), cancelAction As DialogAction(Of DialogCancelArgs), canResize As Boolean, minWidth As Single = 50F, minHeight As Single = 50F) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateDialogWindow* - nameWithType.vb: IWindowManager.CreateDialogWindow(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), Boolean, Single, Single) - fullName.vb: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.Boolean, System.Single, System.Single) - name.vb: CreateDialogWindow(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), Boolean, Single, Single) -- uid: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Single,System.Single,System.Single,System.Single,System.Boolean) - commentId: M:Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Single,System.Single,System.Single,System.Single,System.Boolean) - id: CreateDialogWindow(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.Single,System.Single,System.Single,System.Single,System.Boolean) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CreateDialogWindow(String, String, DialogAction, DialogAction, Single, Single, Single, Single, Boolean) - nameWithType: IWindowManager.CreateDialogWindow(String, String, DialogAction, DialogAction, Single, Single, Single, Single, Boolean) - fullName: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String, System.String, DialogAction, DialogAction, System.Single, System.Single, System.Single, System.Single, System.Boolean) - type: Method - source: - id: CreateDialogWindow - path: '' - startLine: 34841 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog window.\n" - example: [] - syntax: - content: Transform CreateDialogWindow(string windowTypeName, string header, DialogAction okAction = null, DialogAction cancelAction = null, float minWidth = 250F, float minHeight = 250F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) - parameters: - - id: windowTypeName - type: System.String - description: Window type name. - - id: header - type: System.String - description: Dialog header text. - - id: okAction - type: Global.DialogAction{DialogCancelArgs} - description: The action to take when the OK button is clicked. - - id: cancelAction - type: Global.DialogAction{DialogCancelArgs} - description: he action to take when the Cancel button is clicked. - - id: minWidth - type: System.Single - description: Minimum width of the pop-up window. - - id: minHeight - type: System.Single - description: Minimum height of the pop-up window. - - id: preferredWidth - type: System.Single - description: Perferred width of the pop-up window. - - id: preferredHeight - type: System.Single - description: Perferred height of the pop-up window. - - id: canResize - type: System.Boolean - description: True to be able to resize the dialog. - return: - type: Global.Transform - description: '' - content.vb: Function CreateDialogWindow(windowTypeName As String, header As String, okAction As DialogAction(Of DialogCancelArgs) = Nothing, cancelAction As DialogAction(Of DialogCancelArgs) = Nothing, minWidth As Single = 250F, minHeight As Single = 250F, preferredWidth As Single = 700F, preferredHeight As Single = 400F, canResize As Boolean = True) As Transform - overload: Battlehub.RTEditor.IWindowManager.CreateDialogWindow* - nameWithType.vb: IWindowManager.CreateDialogWindow(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), Single, Single, Single, Single, Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.CreateDialogWindow(System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.Single, System.Single, System.Single, System.Single, System.Boolean) - name.vb: CreateDialogWindow(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), Single, Single, Single, Single, Boolean) -- uid: Battlehub.RTEditor.IWindowManager.DestroyDialogWindow - commentId: M:Battlehub.RTEditor.IWindowManager.DestroyDialogWindow - id: DestroyDialogWindow - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: DestroyDialogWindow() - nameWithType: IWindowManager.DestroyDialogWindow() - fullName: Battlehub.RTEditor.IWindowManager.DestroyDialogWindow() - type: Method - source: - id: DestroyDialogWindow - path: '' - startLine: 34851 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nDestroys the topmost dialog window.\n" - example: [] - syntax: - content: void DestroyDialogWindow() - content.vb: Sub DestroyDialogWindow - overload: Battlehub.RTEditor.IWindowManager.DestroyDialogWindow* -- uid: Battlehub.RTEditor.IWindowManager.MessageBox(System.String,System.String,DialogAction{DialogCancelArgs}) - commentId: M:Battlehub.RTEditor.IWindowManager.MessageBox(System.String,System.String,DialogAction{DialogCancelArgs}) - id: MessageBox(System.String,System.String,DialogAction{DialogCancelArgs}) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: MessageBox(String, String, DialogAction) - nameWithType: IWindowManager.MessageBox(String, String, DialogAction) - fullName: Battlehub.RTEditor.IWindowManager.MessageBox(System.String, System.String, DialogAction) - type: Method - source: - id: MessageBox - path: '' - startLine: 34859 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates message box.\n" - example: [] - syntax: - content: void MessageBox(string header, string text, DialogAction ok = null) - parameters: - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Message text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - content.vb: Sub MessageBox(header As String, text As String, ok As DialogAction(Of DialogCancelArgs) = Nothing) - overload: Battlehub.RTEditor.IWindowManager.MessageBox* - nameWithType.vb: IWindowManager.MessageBox(String, String, DialogAction(Of DialogCancelArgs)) - fullName.vb: Battlehub.RTEditor.IWindowManager.MessageBox(System.String, System.String, DialogAction(Of DialogCancelArgs)) - name.vb: MessageBox(String, String, DialogAction(Of DialogCancelArgs)) -- uid: Battlehub.RTEditor.IWindowManager.MessageBox(Sprite,System.String,System.String,DialogAction{DialogCancelArgs}) - commentId: M:Battlehub.RTEditor.IWindowManager.MessageBox(Sprite,System.String,System.String,DialogAction{DialogCancelArgs}) - id: MessageBox(Sprite,System.String,System.String,DialogAction{DialogCancelArgs}) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: MessageBox(Sprite, String, String, DialogAction) - nameWithType: IWindowManager.MessageBox(Sprite, String, String, DialogAction) - fullName: Battlehub.RTEditor.IWindowManager.MessageBox(Sprite, System.String, System.String, DialogAction) - type: Method - source: - id: MessageBox - path: '' - startLine: 34868 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates message box.\n" - example: [] - syntax: - content: void MessageBox(Sprite icon, string header, string text, DialogAction ok = null) - parameters: - - id: icon - type: Global.Sprite - description: Header icon. - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Message text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - content.vb: Sub MessageBox(icon As Sprite, header As String, text As String, ok As DialogAction(Of DialogCancelArgs) = Nothing) - overload: Battlehub.RTEditor.IWindowManager.MessageBox* - nameWithType.vb: IWindowManager.MessageBox(Sprite, String, String, DialogAction(Of DialogCancelArgs)) - fullName.vb: Battlehub.RTEditor.IWindowManager.MessageBox(Sprite, System.String, System.String, DialogAction(Of DialogCancelArgs)) - name.vb: MessageBox(Sprite, String, String, DialogAction(Of DialogCancelArgs)) -- uid: Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - id: Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Confirmation(String, String, DialogAction, DialogAction, String, String) - nameWithType: IWindowManager.Confirmation(String, String, DialogAction, DialogAction, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Confirmation(System.String, System.String, DialogAction, DialogAction, System.String, System.String) - type: Method - source: - id: Confirmation - path: '' - startLine: 34879 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates confirmation dialog.\n" - example: [] - syntax: - content: void Confirmation(string header, string text, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel") - parameters: - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Message text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - content.vb: Sub Confirmation(header As String, text As String, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel") - overload: Battlehub.RTEditor.IWindowManager.Confirmation* - nameWithType.vb: IWindowManager.Confirmation(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Confirmation(System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String) - name.vb: Confirmation(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String) -- uid: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - id: Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Confirmation(Sprite, String, String, DialogAction, DialogAction, String, String) - nameWithType: IWindowManager.Confirmation(Sprite, String, String, DialogAction, DialogAction, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite, System.String, System.String, DialogAction, DialogAction, System.String, System.String) - type: Method - source: - id: Confirmation - path: '' - startLine: 34891 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates confirmation dialog.\n" - example: [] - syntax: - content: void Confirmation(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel") - parameters: - - id: icon - type: Global.Sprite - description: Header icon. - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Mesasge text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - content.vb: Sub Confirmation(icon As Sprite, header As String, text As String, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel") - overload: Battlehub.RTEditor.IWindowManager.Confirmation* - nameWithType.vb: IWindowManager.Confirmation(Sprite, String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite, System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String) - name.vb: Confirmation(Sprite, String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String) -- uid: Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - id: Confirmation(System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Confirmation(String, String, DialogAction, DialogAction, DialogAction, String, String, String) - nameWithType: IWindowManager.Confirmation(String, String, DialogAction, DialogAction, DialogAction, String, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Confirmation(System.String, System.String, DialogAction, DialogAction, DialogAction, System.String, System.String, System.String) - type: Method - source: - id: Confirmation - path: '' - startLine: 34904 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates 3 button confirmation dialog.\n" - example: [] - syntax: - content: void Confirmation(string header, string text, DialogAction ok, DialogAction cancel, DialogAction alt, string okText = "OK", string cancelText = "Cancel", string altText = "Close") - parameters: - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Message text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: alt - type: Global.DialogAction{DialogCancelArgs} - description: Alternative action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - - id: altText - type: System.String - description: Alternative button text. - content.vb: Sub Confirmation(header As String, text As String, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), alt As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel", altText As String = "Close") - overload: Battlehub.RTEditor.IWindowManager.Confirmation* - nameWithType.vb: IWindowManager.Confirmation(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Confirmation(System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String, System.String) - name.vb: Confirmation(String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, String) -- uid: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - id: Confirmation(Sprite,System.String,System.String,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Confirmation(Sprite, String, String, DialogAction, DialogAction, DialogAction, String, String, String) - nameWithType: IWindowManager.Confirmation(Sprite, String, String, DialogAction, DialogAction, DialogAction, String, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite, System.String, System.String, DialogAction, DialogAction, DialogAction, System.String, System.String, System.String) - type: Method - source: - id: Confirmation - path: '' - startLine: 34918 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates 3 button confirmation dialog.\n" - example: [] - syntax: - content: void Confirmation(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, DialogAction alt, string okText = "OK", string cancelText = "Cancel", string altText = "Close") - parameters: - - id: icon - type: Global.Sprite - description: Header icon. - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Message text. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: alt - type: Global.DialogAction{DialogCancelArgs} - description: Alternative action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - - id: altText - type: System.String - description: Alternative button text. - content.vb: Sub Confirmation(icon As Sprite, header As String, text As String, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), alt As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel", altText As String = "Close") - overload: Battlehub.RTEditor.IWindowManager.Confirmation* - nameWithType.vb: IWindowManager.Confirmation(Sprite, String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Confirmation(Sprite, System.String, System.String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String, System.String) - name.vb: Confirmation(Sprite, String, String, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, String) -- uid: Battlehub.RTEditor.IWindowManager.Prompt(System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Prompt(System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - id: Prompt(System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Prompt(String, String, DialogAction, DialogAction, String, String) - nameWithType: IWindowManager.Prompt(String, String, DialogAction, DialogAction, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Prompt(System.String, System.String, DialogAction, DialogAction, System.String, System.String) - type: Method - source: - id: Prompt - path: '' - startLine: 34929 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates prompt dialog.\n" - example: [] - syntax: - content: void Prompt(string header, string text, DialogAction ok, DialogAction cancel = null, string okText = "OK", string cancelText = "Cancel") - parameters: - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Input field text. - - id: ok - type: Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs} - description: Cancel action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - content.vb: Sub Prompt(header As String, text As String, ok As DialogAction(Of PromptDialogArgs), cancel As DialogAction(Of PromptDialogArgs) = Nothing, okText As String = "OK", cancelText As String = "Cancel") - overload: Battlehub.RTEditor.IWindowManager.Prompt* - nameWithType.vb: IWindowManager.Prompt(String, String, DialogAction(Of PromptDialogArgs), DialogAction(Of PromptDialogArgs), String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Prompt(System.String, System.String, DialogAction(Of Battlehub.RTEditor.PromptDialogArgs), DialogAction(Of Battlehub.RTEditor.PromptDialogArgs), System.String, System.String) - name.vb: Prompt(String, String, DialogAction(Of PromptDialogArgs), DialogAction(Of PromptDialogArgs), String, String) -- uid: Battlehub.RTEditor.IWindowManager.Prompt(Sprite,System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.Prompt(Sprite,System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - id: Prompt(Sprite,System.String,System.String,DialogAction{Battlehub.RTEditor.PromptDialogArgs},DialogAction{Battlehub.RTEditor.PromptDialogArgs},System.String,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Prompt(Sprite, String, String, DialogAction, DialogAction, String, String) - nameWithType: IWindowManager.Prompt(Sprite, String, String, DialogAction, DialogAction, String, String) - fullName: Battlehub.RTEditor.IWindowManager.Prompt(Sprite, System.String, System.String, DialogAction, DialogAction, System.String, System.String) - type: Method - source: - id: Prompt - path: '' - startLine: 34941 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates prompt dialog.\n" - example: [] - syntax: - content: void Prompt(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel = null, string okText = "OK", string cancelText = "Cancel") - parameters: - - id: icon - type: Global.Sprite - description: Header icon. - - id: header - type: System.String - description: Header text. - - id: text - type: System.String - description: Input field text. - - id: ok - type: Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs} - description: Ok action. - - id: cancel - type: Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs} - description: Cancel action. - - id: okText - type: System.String - description: Ok button text. - - id: cancelText - type: System.String - description: Cancel button text. - content.vb: Sub Prompt(icon As Sprite, header As String, text As String, ok As DialogAction(Of PromptDialogArgs), cancel As DialogAction(Of PromptDialogArgs) = Nothing, okText As String = "OK", cancelText As String = "Cancel") - overload: Battlehub.RTEditor.IWindowManager.Prompt* - nameWithType.vb: IWindowManager.Prompt(Sprite, String, String, DialogAction(Of PromptDialogArgs), DialogAction(Of PromptDialogArgs), String, String) - fullName.vb: Battlehub.RTEditor.IWindowManager.Prompt(Sprite, System.String, System.String, DialogAction(Of Battlehub.RTEditor.PromptDialogArgs), DialogAction(Of Battlehub.RTEditor.PromptDialogArgs), System.String, System.String) - name.vb: Prompt(Sprite, String, String, DialogAction(Of PromptDialogArgs), DialogAction(Of PromptDialogArgs), String, String) -- uid: Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - id: Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Dialog(Sprite, String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) - nameWithType: IWindowManager.Dialog(Sprite, String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.Dialog(Sprite, System.String, Transform, DialogAction, System.String, DialogAction, System.String, System.Boolean, System.Single, System.Single) - type: Method - source: - id: Dialog - path: '' - startLine: 34956 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog.\n" - example: [] - syntax: - content: void Dialog(Sprite icon, string header, Transform content, DialogAction ok, string okText = "OK", DialogAction cancel = null, string cancelText = "Cancel", bool canResize = false, float minWidth = 150F, float minHeight = 100F) - parameters: - - id: icon - type: Global.Sprite - description: Header icon. - - id: header - type: System.String - description: Header text. - - id: content - type: Global.Transform - description: Dialog content transform. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok Action. - - id: okText - type: System.String - description: Ok button text. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: cancelText - type: System.String - description: Cancel button text. - - id: canResize - type: System.Boolean - description: True to be able to resize the dialog. - - id: minWidth - type: System.Single - description: Minimum width of the dialog. - - id: minHeight - type: System.Single - description: Minimum height of the dialog. - content.vb: Sub Dialog(icon As Sprite, header As String, content As Transform, ok As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancel As DialogAction(Of DialogCancelArgs) = Nothing, cancelText As String = "Cancel", canResize As Boolean = False, minWidth As Single = 150F, minHeight As Single = 100F) - overload: Battlehub.RTEditor.IWindowManager.Dialog* - nameWithType.vb: IWindowManager.Dialog(Sprite, String, Transform, DialogAction(Of DialogCancelArgs), String, DialogAction(Of DialogCancelArgs), String, Boolean, Single, Single) - fullName.vb: Battlehub.RTEditor.IWindowManager.Dialog(Sprite, System.String, Transform, DialogAction(Of DialogCancelArgs), System.String, DialogAction(Of DialogCancelArgs), System.String, System.Boolean, System.Single, System.Single) - name.vb: Dialog(Sprite, String, Transform, DialogAction(Of DialogCancelArgs), String, DialogAction(Of DialogCancelArgs), String, Boolean, Single, Single) -- uid: Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - commentId: M:Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - id: Dialog(System.String,Transform,DialogAction{DialogCancelArgs},System.String,DialogAction{DialogCancelArgs},System.String,System.Boolean,System.Single,System.Single) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Dialog(String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) - nameWithType: IWindowManager.Dialog(String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) - fullName: Battlehub.RTEditor.IWindowManager.Dialog(System.String, Transform, DialogAction, System.String, DialogAction, System.String, System.Boolean, System.Single, System.Single) - type: Method - source: - id: Dialog - path: '' - startLine: 34973 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog.\n" - example: [] - syntax: - content: void Dialog(string header, Transform content, DialogAction ok, string okText = "OK", DialogAction cancel = null, string cancelText = "Cancel", bool canResize = false, float minWidth = 150F, float minHeight = 100F) - parameters: - - id: header - type: System.String - description: Header text. - - id: content - type: Global.Transform - description: Dialog content transform. - - id: ok - type: Global.DialogAction{DialogCancelArgs} - description: Ok Action. - - id: okText - type: System.String - description: Ok button text. - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - description: Cancel action. - - id: cancelText - type: System.String - description: Cancel button text. - - id: canResize - type: System.Boolean - description: True to be able to resize the dialog. - - id: minWidth - type: System.Single - description: Minimum width of the dialog. - - id: minHeight - type: System.Single - description: Minimum height of the dialog. - content.vb: Sub Dialog(header As String, content As Transform, ok As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancel As DialogAction(Of DialogCancelArgs) = Nothing, cancelText As String = "Cancel", canResize As Boolean = False, minWidth As Single = 150F, minHeight As Single = 100F) - overload: Battlehub.RTEditor.IWindowManager.Dialog* - nameWithType.vb: IWindowManager.Dialog(String, Transform, DialogAction(Of DialogCancelArgs), String, DialogAction(Of DialogCancelArgs), String, Boolean, Single, Single) - fullName.vb: Battlehub.RTEditor.IWindowManager.Dialog(System.String, Transform, DialogAction(Of DialogCancelArgs), System.String, DialogAction(Of DialogCancelArgs), System.String, System.Boolean, System.Single, System.Single) - name.vb: Dialog(String, Transform, DialogAction(Of DialogCancelArgs), String, DialogAction(Of DialogCancelArgs), String, Boolean, Single, Single) -- uid: Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - commentId: M:Battlehub.RTEditor.IWindowManager.Dialog(System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - id: Dialog(System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Dialog(String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) - nameWithType: IWindowManager.Dialog(String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) - fullName: Battlehub.RTEditor.IWindowManager.Dialog(System.String, Transform, DialogAction, DialogAction, System.String, System.String, System.Single, System.Single, System.Single, System.Single, System.Boolean) - type: Method - source: - id: Dialog - path: '' - startLine: 34981 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog.\n" - example: [] - syntax: - content: void Dialog(string header, Transform content, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel", float minWidth = 150F, float minHeight = 150F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) - parameters: - - id: header - type: System.String - - id: content - type: Global.Transform - - id: ok - type: Global.DialogAction{DialogCancelArgs} - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - - id: okText - type: System.String - - id: cancelText - type: System.String - - id: minWidth - type: System.Single - - id: minHeight - type: System.Single - - id: preferredWidth - type: System.Single - - id: preferredHeight - type: System.Single - - id: canResize - type: System.Boolean - content.vb: Sub Dialog(header As String, content As Transform, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel", minWidth As Single = 150F, minHeight As Single = 150F, preferredWidth As Single = 700F, preferredHeight As Single = 400F, canResize As Boolean = True) - overload: Battlehub.RTEditor.IWindowManager.Dialog* - nameWithType.vb: IWindowManager.Dialog(String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, Single, Single, Single, Single, Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.Dialog(System.String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String, System.Single, System.Single, System.Single, System.Single, System.Boolean) - name.vb: Dialog(String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, Single, Single, Single, Single, Boolean) -- uid: Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - commentId: M:Battlehub.RTEditor.IWindowManager.Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - id: Dialog(Sprite,System.String,Transform,DialogAction{DialogCancelArgs},DialogAction{DialogCancelArgs},System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Dialog(Sprite, String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) - nameWithType: IWindowManager.Dialog(Sprite, String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) - fullName: Battlehub.RTEditor.IWindowManager.Dialog(Sprite, System.String, Transform, DialogAction, DialogAction, System.String, System.String, System.Single, System.Single, System.Single, System.Single, System.Boolean) - type: Method - source: - id: Dialog - path: '' - startLine: 34991 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCreates dialog.\n" - example: [] - syntax: - content: void Dialog(Sprite icon, string header, Transform content, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel", float minWidth = 150F, float minHeight = 150F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) - parameters: - - id: icon - type: Global.Sprite - - id: header - type: System.String - - id: content - type: Global.Transform - - id: ok - type: Global.DialogAction{DialogCancelArgs} - - id: cancel - type: Global.DialogAction{DialogCancelArgs} - - id: okText - type: System.String - - id: cancelText - type: System.String - - id: minWidth - type: System.Single - - id: minHeight - type: System.Single - - id: preferredWidth - type: System.Single - - id: preferredHeight - type: System.Single - - id: canResize - type: System.Boolean - content.vb: Sub Dialog(icon As Sprite, header As String, content As Transform, ok As DialogAction(Of DialogCancelArgs), cancel As DialogAction(Of DialogCancelArgs), okText As String = "OK", cancelText As String = "Cancel", minWidth As Single = 150F, minHeight As Single = 150F, preferredWidth As Single = 700F, preferredHeight As Single = 400F, canResize As Boolean = True) - overload: Battlehub.RTEditor.IWindowManager.Dialog* - nameWithType.vb: IWindowManager.Dialog(Sprite, String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, Single, Single, Single, Single, Boolean) - fullName.vb: Battlehub.RTEditor.IWindowManager.Dialog(Sprite, System.String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), System.String, System.String, System.Single, System.Single, System.Single, System.Single, System.Boolean) - name.vb: Dialog(Sprite, String, Transform, DialogAction(Of DialogCancelArgs), DialogAction(Of DialogCancelArgs), String, String, Single, Single, Single, Single, Boolean) -- uid: Battlehub.RTEditor.IWindowManager.CopyTransform(Transform,Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.CopyTransform(Transform,Transform) - id: CopyTransform(Transform,Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: CopyTransform(Transform, Transform) - nameWithType: IWindowManager.CopyTransform(Transform, Transform) - fullName: Battlehub.RTEditor.IWindowManager.CopyTransform(Transform, Transform) - type: Method - source: - id: CopyTransform - path: '' - startLine: 35003 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nCopies source window transform to target window transform.\n" - example: [] - syntax: - content: void CopyTransform(Transform targetConent, Transform sourceContent) - parameters: - - id: targetConent - type: Global.Transform - description: Target window transform. - - id: sourceContent - type: Global.Transform - description: Source window transform. - content.vb: Sub CopyTransform(targetConent As Transform, sourceContent As Transform) - overload: Battlehub.RTEditor.IWindowManager.CopyTransform* -- uid: Battlehub.RTEditor.IWindowManager.SetTransform(Transform,Vector2,Vector2,Vector2,Vector2) - commentId: M:Battlehub.RTEditor.IWindowManager.SetTransform(Transform,Vector2,Vector2,Vector2,Vector2) - id: SetTransform(Transform,Vector2,Vector2,Vector2,Vector2) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetTransform(Transform, Vector2, Vector2, Vector2, Vector2) - nameWithType: IWindowManager.SetTransform(Transform, Vector2, Vector2, Vector2, Vector2) - fullName: Battlehub.RTEditor.IWindowManager.SetTransform(Transform, Vector2, Vector2, Vector2, Vector2) - type: Method - source: - id: SetTransform - path: '' - startLine: 35013 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets anchoredPosition, anchorMin, anchorMax and size delta.\n" - example: [] - syntax: - content: void SetTransform(Transform content, Vector2 anchoredPosition, Vector2 anchorMin, Vector2 anchorMax, Vector2 sizeDelta) - parameters: - - id: content - type: Global.Transform - description: Target window transform. - - id: anchoredPosition - type: Global.Vector2 - description: Anchored position. - - id: anchorMin - type: Global.Vector2 - description: Anchor min. - - id: anchorMax - type: Global.Vector2 - description: Anchor max. - - id: sizeDelta - type: Global.Vector2 - description: Size delta. - content.vb: Sub SetTransform(content As Transform, anchoredPosition As Vector2, anchorMin As Vector2, anchorMax As Vector2, sizeDelta As Vector2) - overload: Battlehub.RTEditor.IWindowManager.SetTransform* -- uid: Battlehub.RTEditor.IWindowManager.GetHeaderText(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.GetHeaderText(Transform) - id: GetHeaderText(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetHeaderText(Transform) - nameWithType: IWindowManager.GetHeaderText(Transform) - fullName: Battlehub.RTEditor.IWindowManager.GetHeaderText(Transform) - type: Method - source: - id: GetHeaderText - path: '' - startLine: 35020 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets header text of the window.\n" - example: [] - syntax: - content: string GetHeaderText(Transform content) - parameters: - - id: content - type: Global.Transform - description: Window transform. - return: - type: System.String - description: Header text. - content.vb: Function GetHeaderText(content As Transform) As String - overload: Battlehub.RTEditor.IWindowManager.GetHeaderText* -- uid: Battlehub.RTEditor.IWindowManager.SetHeaderText(Transform,System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.SetHeaderText(Transform,System.String) - id: SetHeaderText(Transform,System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetHeaderText(Transform, String) - nameWithType: IWindowManager.SetHeaderText(Transform, String) - fullName: Battlehub.RTEditor.IWindowManager.SetHeaderText(Transform, System.String) - type: Method - source: - id: SetHeaderText - path: '' - startLine: 35027 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets header text of the window.\n" - example: [] - syntax: - content: void SetHeaderText(Transform content, string headerText) - parameters: - - id: content - type: Global.Transform - description: Window transform. - - id: headerText - type: System.String - description: Header text. - content.vb: Sub SetHeaderText(content As Transform, headerText As String) - overload: Battlehub.RTEditor.IWindowManager.SetHeaderText* -- uid: Battlehub.RTEditor.IWindowManager.GetHeaderIcon(Transform) - commentId: M:Battlehub.RTEditor.IWindowManager.GetHeaderIcon(Transform) - id: GetHeaderIcon(Transform) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetHeaderIcon(Transform) - nameWithType: IWindowManager.GetHeaderIcon(Transform) - fullName: Battlehub.RTEditor.IWindowManager.GetHeaderIcon(Transform) - type: Method - source: - id: GetHeaderIcon - path: '' - startLine: 35034 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nGets header icon.\n" - example: [] - syntax: - content: Sprite GetHeaderIcon(Transform content) - parameters: - - id: content - type: Global.Transform - description: Window transform. - return: - type: Global.Sprite - description: Header icon. - content.vb: Function GetHeaderIcon(content As Transform) As Sprite - overload: Battlehub.RTEditor.IWindowManager.GetHeaderIcon* -- uid: Battlehub.RTEditor.IWindowManager.SetHeaderIcon(Transform,Sprite) - commentId: M:Battlehub.RTEditor.IWindowManager.SetHeaderIcon(Transform,Sprite) - id: SetHeaderIcon(Transform,Sprite) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SetHeaderIcon(Transform, Sprite) - nameWithType: IWindowManager.SetHeaderIcon(Transform, Sprite) - fullName: Battlehub.RTEditor.IWindowManager.SetHeaderIcon(Transform, Sprite) - type: Method - source: - id: SetHeaderIcon - path: '' - startLine: 35041 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - summary: "\nSets header icon.\n" - example: [] - syntax: - content: void SetHeaderIcon(Transform content, Sprite icon) - parameters: - - id: content - type: Global.Transform - description: Window transform. - - id: icon - type: Global.Sprite - description: Header icon. - content.vb: Sub SetHeaderIcon(content As Transform, icon As Sprite) - overload: Battlehub.RTEditor.IWindowManager.SetHeaderIcon* -- uid: Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate - commentId: M:Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate - id: ForceLayoutUpdate - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: ForceLayoutUpdate() - nameWithType: IWindowManager.ForceLayoutUpdate() - fullName: Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate() - type: Method - source: - id: ForceLayoutUpdate - path: '' - startLine: 35043 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: void ForceLayoutUpdate() - content.vb: Sub ForceLayoutUpdate - overload: Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate* -- uid: Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName - commentId: P:Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName - id: DefaultPersistentLayoutName - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: DefaultPersistentLayoutName - nameWithType: IWindowManager.DefaultPersistentLayoutName - fullName: Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName - type: Property - source: - id: DefaultPersistentLayoutName - path: '' - startLine: 35045 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: string DefaultPersistentLayoutName { get; } - parameters: [] - return: - type: System.String - content.vb: ReadOnly Property DefaultPersistentLayoutName As String - overload: Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName* - modifiers.csharp: - - get - modifiers.vb: - - ReadOnly -- uid: Battlehub.RTEditor.IWindowManager.LayoutExist(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.LayoutExist(System.String) - id: LayoutExist(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: LayoutExist(String) - nameWithType: IWindowManager.LayoutExist(String) - fullName: Battlehub.RTEditor.IWindowManager.LayoutExist(System.String) - type: Method - source: - id: LayoutExist - path: '' - startLine: 35051 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: bool LayoutExist(string name) - parameters: - - id: name - type: System.String - return: - type: System.Boolean - content.vb: Function LayoutExist(name As String) As Boolean - overload: Battlehub.RTEditor.IWindowManager.LayoutExist* -- uid: Battlehub.RTEditor.IWindowManager.SaveLayout(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.SaveLayout(System.String) - id: SaveLayout(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: SaveLayout(String) - nameWithType: IWindowManager.SaveLayout(String) - fullName: Battlehub.RTEditor.IWindowManager.SaveLayout(System.String) - type: Method - source: - id: SaveLayout - path: '' - startLine: 35054 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: void SaveLayout(string name) - parameters: - - id: name - type: System.String - content.vb: Sub SaveLayout(name As String) - overload: Battlehub.RTEditor.IWindowManager.SaveLayout* -- uid: Battlehub.RTEditor.IWindowManager.GetLayout(System.String,GameObject) - commentId: M:Battlehub.RTEditor.IWindowManager.GetLayout(System.String,GameObject) - id: GetLayout(System.String,GameObject) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: GetLayout(String, GameObject) - nameWithType: IWindowManager.GetLayout(String, GameObject) - fullName: Battlehub.RTEditor.IWindowManager.GetLayout(System.String, GameObject) - type: Method - source: - id: GetLayout - path: '' - startLine: 35057 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: LayoutInfo GetLayout(string name, GameObject tabPrefab = null) - parameters: - - id: name - type: System.String - - id: tabPrefab - type: Global.GameObject - return: - type: Global.LayoutInfo - content.vb: Function GetLayout(name As String, tabPrefab As GameObject = Nothing) As LayoutInfo - overload: Battlehub.RTEditor.IWindowManager.GetLayout* -- uid: Battlehub.RTEditor.IWindowManager.LoadLayout(System.String,GameObject) - commentId: M:Battlehub.RTEditor.IWindowManager.LoadLayout(System.String,GameObject) - id: LoadLayout(System.String,GameObject) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: LoadLayout(String, GameObject) - nameWithType: IWindowManager.LoadLayout(String, GameObject) - fullName: Battlehub.RTEditor.IWindowManager.LoadLayout(System.String, GameObject) - type: Method - source: - id: LoadLayout - path: '' - startLine: 35060 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: void LoadLayout(string name, GameObject tabPrefab = null) - parameters: - - id: name - type: System.String - - id: tabPrefab - type: Global.GameObject - content.vb: Sub LoadLayout(name As String, tabPrefab As GameObject = Nothing) - overload: Battlehub.RTEditor.IWindowManager.LoadLayout* -- uid: Battlehub.RTEditor.IWindowManager.DeleteLayout(System.String) - commentId: M:Battlehub.RTEditor.IWindowManager.DeleteLayout(System.String) - id: DeleteLayout(System.String) - parent: Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: DeleteLayout(String) - nameWithType: IWindowManager.DeleteLayout(String) - fullName: Battlehub.RTEditor.IWindowManager.DeleteLayout(System.String) - type: Method - source: - id: DeleteLayout - path: '' - startLine: 35063 - assemblies: - - cs.temp.dll - namespace: Battlehub.RTEditor - syntax: - content: void DeleteLayout(string name) - parameters: - - id: name - type: System.String - content.vb: Sub DeleteLayout(name As String) - overload: Battlehub.RTEditor.IWindowManager.DeleteLayout* -references: -- uid: Battlehub.RTEditor - commentId: N:Battlehub.RTEditor - name: Battlehub.RTEditor - nameWithType: Battlehub.RTEditor - fullName: Battlehub.RTEditor -- uid: Battlehub.RTEditor.IWindowManager.IsDialogOpened* - commentId: Overload:Battlehub.RTEditor.IWindowManager.IsDialogOpened - name: IsDialogOpened - nameWithType: IWindowManager.IsDialogOpened - fullName: Battlehub.RTEditor.IWindowManager.IsDialogOpened -- uid: System.Boolean - commentId: T:System.Boolean - parent: System - isExternal: true - name: Boolean - nameWithType: Boolean - fullName: System.Boolean -- uid: System - commentId: N:System - isExternal: true - name: System - nameWithType: System - fullName: System -- uid: Battlehub.RTEditor.IWindowManager.PopupRoot* - commentId: Overload:Battlehub.RTEditor.IWindowManager.PopupRoot - name: PopupRoot - nameWithType: IWindowManager.PopupRoot - fullName: Battlehub.RTEditor.IWindowManager.PopupRoot -- uid: Global.RectTransform - isExternal: true - name: RectTransform - nameWithType: RectTransform - fullName: RectTransform -- uid: Battlehub.RTEditor.IWindowManager.ComponentsRoot* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ComponentsRoot - name: ComponentsRoot - nameWithType: IWindowManager.ComponentsRoot - fullName: Battlehub.RTEditor.IWindowManager.ComponentsRoot -- uid: Global.Transform - isExternal: true - name: Transform - nameWithType: Transform - fullName: Transform -- uid: Global.Action{Battlehub.RTEditor.IWindowManager} - commentId: '!:Global.Action{Battlehub.RTEditor.IWindowManager}' - definition: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - nameWithType.vb: Action(Of IWindowManager) - fullName.vb: Action(Of Battlehub.RTEditor.IWindowManager) - name.vb: Action(Of IWindowManager) - spec.csharp: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Battlehub.RTEditor.IWindowManager - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Battlehub.RTEditor.IWindowManager - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.Action`1 - isExternal: true - name: Action<> - nameWithType: Action<> - fullName: Action<> - nameWithType.vb: Action(Of ) - fullName.vb: Action(Of ) - name.vb: Action(Of ) - spec.csharp: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: '' - nameWithType: '' - fullName: '' - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: '' - nameWithType: '' - fullName: '' - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.Action{Transform} - commentId: '!:Global.Action{Transform}' - definition: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - nameWithType.vb: Action(Of Transform) - fullName.vb: Action(Of Transform) - name.vb: Action(Of Transform) - spec.csharp: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Global.Transform - name: Transform - nameWithType: Transform - fullName: Transform - isExternal: true - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Action`1 - name: Action - nameWithType: Action - fullName: Action - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Global.Transform - name: Transform - nameWithType: Transform - fullName: Transform - isExternal: true - - name: ) - nameWithType: ) - fullName: ) -- uid: Battlehub.RTEditor.IWindowManager.ActiveWorkspace* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ActiveWorkspace - name: ActiveWorkspace - nameWithType: IWindowManager.ActiveWorkspace - fullName: Battlehub.RTEditor.IWindowManager.ActiveWorkspace -- uid: Battlehub.RTEditor.Workspace - commentId: T:Battlehub.RTEditor.Workspace - parent: Battlehub.RTEditor - name: Workspace - nameWithType: Workspace - fullName: Battlehub.RTEditor.Workspace -- uid: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CreateLayoutInfo - name: CreateLayoutInfo - nameWithType: IWindowManager.CreateLayoutInfo - fullName: Battlehub.RTEditor.IWindowManager.CreateLayoutInfo -- uid: System.String - commentId: T:System.String - parent: System - isExternal: true - name: String - nameWithType: String - fullName: System.String -- uid: Global.LayoutInfo - isExternal: true - name: LayoutInfo - nameWithType: LayoutInfo - fullName: LayoutInfo -- uid: Battlehub.RTEditor.WindowDescriptor - commentId: T:Battlehub.RTEditor.WindowDescriptor - parent: Battlehub.RTEditor - name: WindowDescriptor - nameWithType: WindowDescriptor - fullName: Battlehub.RTEditor.WindowDescriptor -- uid: Global.Sprite - isExternal: true - name: Sprite - nameWithType: Sprite - fullName: Sprite -- uid: Battlehub.RTEditor.IWindowManager.ValidateLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ValidateLayout - name: ValidateLayout - nameWithType: IWindowManager.ValidateLayout - fullName: Battlehub.RTEditor.IWindowManager.ValidateLayout -- uid: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout - name: OverrideDefaultLayout - nameWithType: IWindowManager.OverrideDefaultLayout - fullName: Battlehub.RTEditor.IWindowManager.OverrideDefaultLayout -- uid: Global.Func{Battlehub.RTEditor.IWindowManager,LayoutInfo} - commentId: '!:Global.Func{Battlehub.RTEditor.IWindowManager,LayoutInfo}' - definition: Global.Func`2 - name: Func - nameWithType: Func - fullName: Func - nameWithType.vb: Func(Of IWindowManager, LayoutInfo) - fullName.vb: Func(Of Battlehub.RTEditor.IWindowManager, LayoutInfo) - name.vb: Func(Of IWindowManager, LayoutInfo) - spec.csharp: - - uid: Global.Func`2 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Battlehub.RTEditor.IWindowManager - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager - - name: ', ' - nameWithType: ', ' - fullName: ', ' - - uid: Global.LayoutInfo - name: LayoutInfo - nameWithType: LayoutInfo - fullName: LayoutInfo - isExternal: true - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`2 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Battlehub.RTEditor.IWindowManager - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager - - name: ', ' - nameWithType: ', ' - fullName: ', ' - - uid: Global.LayoutInfo - name: LayoutInfo - nameWithType: LayoutInfo - fullName: LayoutInfo - isExternal: true - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.Func`2 - isExternal: true - name: Func<, > - nameWithType: Func<, > - fullName: Func<, > - nameWithType.vb: Func(Of , ) - fullName.vb: Func(Of , ) - name.vb: Func(Of , ) - spec.csharp: - - uid: Global.Func`2 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: '' - nameWithType: '' - fullName: '' - - name: ', ' - nameWithType: ', ' - fullName: ', ' - - name: '' - nameWithType: '' - fullName: '' - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`2 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: '' - nameWithType: '' - fullName: '' - - name: ', ' - nameWithType: ', ' - fullName: ', ' - - name: '' - nameWithType: '' - fullName: '' - - name: ) - nameWithType: ) - fullName: ) -- uid: Battlehub.RTEditor.IWindowManager.SetDefaultLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetDefaultLayout - name: SetDefaultLayout - nameWithType: IWindowManager.SetDefaultLayout - fullName: Battlehub.RTEditor.IWindowManager.SetDefaultLayout -- uid: Battlehub.RTEditor.IWindowManager.SetLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetLayout - name: SetLayout - nameWithType: IWindowManager.SetLayout - fullName: Battlehub.RTEditor.IWindowManager.SetLayout -- uid: Global.Func{LayoutInfo} - commentId: '!:Global.Func{LayoutInfo}' - definition: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - nameWithType.vb: Func(Of LayoutInfo) - fullName.vb: Func(Of LayoutInfo) - name.vb: Func(Of LayoutInfo) - spec.csharp: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Global.LayoutInfo - name: LayoutInfo - nameWithType: LayoutInfo - fullName: LayoutInfo - isExternal: true - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Global.LayoutInfo - name: LayoutInfo - nameWithType: LayoutInfo - fullName: LayoutInfo - isExternal: true - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.Func`1 - isExternal: true - name: Func<> - nameWithType: Func<> - fullName: Func<> - nameWithType.vb: Func(Of ) - fullName.vb: Func(Of ) - name.vb: Func(Of ) - spec.csharp: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: '' - nameWithType: '' - fullName: '' - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.Func`1 - name: Func - nameWithType: Func - fullName: Func - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: '' - nameWithType: '' - fullName: '' - - name: ) - nameWithType: ) - fullName: ) -- uid: Battlehub.RTEditor.IWindowManager.GetLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetLayout - name: GetLayout - nameWithType: IWindowManager.GetLayout - fullName: Battlehub.RTEditor.IWindowManager.GetLayout -- uid: Battlehub.RTEditor.IWindowManager.OverrideWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.OverrideWindow - name: OverrideWindow - nameWithType: IWindowManager.OverrideWindow - fullName: Battlehub.RTEditor.IWindowManager.OverrideWindow -- uid: Global.GameObject - isExternal: true - name: GameObject - nameWithType: GameObject - fullName: GameObject -- uid: Battlehub.RTEditor.IWindowManager.OverrideTools* - commentId: Overload:Battlehub.RTEditor.IWindowManager.OverrideTools - name: OverrideTools - nameWithType: IWindowManager.OverrideTools - fullName: Battlehub.RTEditor.IWindowManager.OverrideTools -- uid: Battlehub.RTEditor.IWindowManager.SetTools* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetTools - name: SetTools - nameWithType: IWindowManager.SetTools - fullName: Battlehub.RTEditor.IWindowManager.SetTools -- uid: Battlehub.RTEditor.IWindowManager.SetLeftBar* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetLeftBar - name: SetLeftBar - nameWithType: IWindowManager.SetLeftBar - fullName: Battlehub.RTEditor.IWindowManager.SetLeftBar -- uid: Battlehub.RTEditor.IWindowManager.SetRightBar* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetRightBar - name: SetRightBar - nameWithType: IWindowManager.SetRightBar - fullName: Battlehub.RTEditor.IWindowManager.SetRightBar -- uid: Battlehub.RTEditor.IWindowManager.SetTopBar* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetTopBar - name: SetTopBar - nameWithType: IWindowManager.SetTopBar - fullName: Battlehub.RTEditor.IWindowManager.SetTopBar -- uid: Battlehub.RTEditor.IWindowManager.SetBottomBar* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetBottomBar - name: SetBottomBar - nameWithType: IWindowManager.SetBottomBar - fullName: Battlehub.RTEditor.IWindowManager.SetBottomBar -- uid: Battlehub.RTEditor.IWindowManager.IsWindowRegistered* - commentId: Overload:Battlehub.RTEditor.IWindowManager.IsWindowRegistered - name: IsWindowRegistered - nameWithType: IWindowManager.IsWindowRegistered - fullName: Battlehub.RTEditor.IWindowManager.IsWindowRegistered -- uid: Battlehub.RTEditor.IWindowManager.RegisterWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.RegisterWindow - name: RegisterWindow - nameWithType: IWindowManager.RegisterWindow - fullName: Battlehub.RTEditor.IWindowManager.RegisterWindow -- uid: Battlehub.RTEditor.CustomWindowDescriptor - commentId: T:Battlehub.RTEditor.CustomWindowDescriptor - parent: Battlehub.RTEditor - name: CustomWindowDescriptor - nameWithType: CustomWindowDescriptor - fullName: Battlehub.RTEditor.CustomWindowDescriptor -- uid: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetWindowDescriptor - name: GetWindowDescriptor - nameWithType: IWindowManager.GetWindowDescriptor - fullName: Battlehub.RTEditor.IWindowManager.GetWindowDescriptor -- uid: Battlehub.RTEditor.IWindowManager.GetWindowTypeName* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetWindowTypeName - name: GetWindowTypeName - nameWithType: IWindowManager.GetWindowTypeName - fullName: Battlehub.RTEditor.IWindowManager.GetWindowTypeName -- uid: Battlehub.RTEditor.IWindowManager.GetWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetWindow - name: GetWindow - nameWithType: IWindowManager.GetWindow - fullName: Battlehub.RTEditor.IWindowManager.GetWindow -- uid: Battlehub.RTEditor.IWindowManager.GetWindows* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetWindows - name: GetWindows - nameWithType: IWindowManager.GetWindows - fullName: Battlehub.RTEditor.IWindowManager.GetWindows -- uid: Global.Transform[] - isExternal: true - name: Transform[] - nameWithType: Transform[] - fullName: Transform[] - nameWithType.vb: Transform() - fullName.vb: Transform() - name.vb: Transform() - spec.csharp: - - uid: Global.Transform - name: Transform - nameWithType: Transform - fullName: Transform - isExternal: true - - name: '[]' - nameWithType: '[]' - fullName: '[]' - spec.vb: - - uid: Global.Transform - name: Transform - nameWithType: Transform - fullName: Transform - isExternal: true - - name: () - nameWithType: () - fullName: () -- uid: Battlehub.RTEditor.IWindowManager.GetComponents* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetComponents - name: GetComponents - nameWithType: IWindowManager.GetComponents - fullName: Battlehub.RTEditor.IWindowManager.GetComponents -- uid: Battlehub.RTEditor.IWindowManager.Exists* - commentId: Overload:Battlehub.RTEditor.IWindowManager.Exists - name: Exists - nameWithType: IWindowManager.Exists - fullName: Battlehub.RTEditor.IWindowManager.Exists -- uid: Battlehub.RTEditor.IWindowManager.IsActive* - commentId: Overload:Battlehub.RTEditor.IWindowManager.IsActive - name: IsActive - nameWithType: IWindowManager.IsActive - fullName: Battlehub.RTEditor.IWindowManager.IsActive -- uid: Battlehub.RTEditor.IWindowManager.FindPointerOverWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.FindPointerOverWindow - name: FindPointerOverWindow - nameWithType: IWindowManager.FindPointerOverWindow - fullName: Battlehub.RTEditor.IWindowManager.FindPointerOverWindow -- uid: Battlehub.RTCommon.RuntimeWindow - commentId: T:Battlehub.RTCommon.RuntimeWindow - parent: Battlehub.RTCommon - name: RuntimeWindow - nameWithType: RuntimeWindow - fullName: Battlehub.RTCommon.RuntimeWindow -- uid: Battlehub.RTCommon - commentId: N:Battlehub.RTCommon - name: Battlehub.RTCommon - nameWithType: Battlehub.RTCommon - fullName: Battlehub.RTCommon -- uid: Battlehub.RTEditor.IWindowManager.ActivateWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ActivateWindow - name: ActivateWindow - nameWithType: IWindowManager.ActivateWindow - fullName: Battlehub.RTEditor.IWindowManager.ActivateWindow -- uid: Battlehub.RTEditor.IWindowManager.CreateWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CreateWindow - name: CreateWindow - nameWithType: IWindowManager.CreateWindow - fullName: Battlehub.RTEditor.IWindowManager.CreateWindow -- uid: Global.RegionSplitType - commentId: '!:Global.RegionSplitType' - isExternal: true - name: RegionSplitType - nameWithType: RegionSplitType - fullName: RegionSplitType -- uid: System.Single - commentId: T:System.Single - parent: System - isExternal: true - name: Single - nameWithType: Single - fullName: System.Single -- uid: Battlehub.RTEditor.IWindowManager.CreatePopup* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CreatePopup - name: CreatePopup - nameWithType: IWindowManager.CreatePopup - fullName: Battlehub.RTEditor.IWindowManager.CreatePopup -- uid: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle - name: ScreenPointToLocalPointInRectangle - nameWithType: IWindowManager.ScreenPointToLocalPointInRectangle - fullName: Battlehub.RTEditor.IWindowManager.ScreenPointToLocalPointInRectangle -- uid: Global.Vector3 - commentId: '!:Global.Vector3' - isExternal: true - name: Vector3 - nameWithType: Vector3 - fullName: Vector3 -- uid: Global.Vector2 - isExternal: true - name: Vector2 - nameWithType: Vector2 - fullName: Vector2 -- uid: Battlehub.RTEditor.IWindowManager.CreateDropdown* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CreateDropdown - name: CreateDropdown - nameWithType: IWindowManager.CreateDropdown - fullName: Battlehub.RTEditor.IWindowManager.CreateDropdown -- uid: Battlehub.RTEditor.IWindowManager.SetWindowArgs* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetWindowArgs - name: SetWindowArgs - nameWithType: IWindowManager.SetWindowArgs - fullName: Battlehub.RTEditor.IWindowManager.SetWindowArgs -- uid: Battlehub.RTEditor.IWindowManager.DestroyWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.DestroyWindow - name: DestroyWindow - nameWithType: IWindowManager.DestroyWindow - fullName: Battlehub.RTEditor.IWindowManager.DestroyWindow -- uid: Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType* - commentId: Overload:Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType - name: DestroyWindowsOfType - nameWithType: IWindowManager.DestroyWindowsOfType - fullName: Battlehub.RTEditor.IWindowManager.DestroyWindowsOfType -- uid: Battlehub.RTEditor.IWindowManager.CreateDialogWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CreateDialogWindow - name: CreateDialogWindow - nameWithType: IWindowManager.CreateDialogWindow - fullName: Battlehub.RTEditor.IWindowManager.CreateDialogWindow -- uid: Global.DialogAction{DialogCancelArgs} - commentId: '!:Global.DialogAction{DialogCancelArgs}' - definition: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - nameWithType.vb: DialogAction(Of DialogCancelArgs) - fullName.vb: DialogAction(Of DialogCancelArgs) - name.vb: DialogAction(Of DialogCancelArgs) - spec.csharp: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Global.DialogCancelArgs - name: DialogCancelArgs - nameWithType: DialogCancelArgs - fullName: DialogCancelArgs - isExternal: true - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Global.DialogCancelArgs - name: DialogCancelArgs - nameWithType: DialogCancelArgs - fullName: DialogCancelArgs - isExternal: true - - name: ) - nameWithType: ) - fullName: ) -- uid: Global.DialogAction`1 - isExternal: true - name: DialogAction<> - nameWithType: DialogAction<> - fullName: DialogAction<> - nameWithType.vb: DialogAction(Of ) - fullName.vb: DialogAction(Of ) - name.vb: DialogAction(Of ) - spec.csharp: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: < - nameWithType: < - fullName: < - - name: '' - nameWithType: '' - fullName: '' - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - name: '' - nameWithType: '' - fullName: '' - - name: ) - nameWithType: ) - fullName: ) -- uid: Battlehub.RTEditor.IWindowManager.DestroyDialogWindow* - commentId: Overload:Battlehub.RTEditor.IWindowManager.DestroyDialogWindow - name: DestroyDialogWindow - nameWithType: IWindowManager.DestroyDialogWindow - fullName: Battlehub.RTEditor.IWindowManager.DestroyDialogWindow -- uid: Battlehub.RTEditor.IWindowManager.MessageBox* - commentId: Overload:Battlehub.RTEditor.IWindowManager.MessageBox - name: MessageBox - nameWithType: IWindowManager.MessageBox - fullName: Battlehub.RTEditor.IWindowManager.MessageBox -- uid: Battlehub.RTEditor.IWindowManager.Confirmation* - commentId: Overload:Battlehub.RTEditor.IWindowManager.Confirmation - name: Confirmation - nameWithType: IWindowManager.Confirmation - fullName: Battlehub.RTEditor.IWindowManager.Confirmation -- uid: Battlehub.RTEditor.IWindowManager.Prompt* - commentId: Overload:Battlehub.RTEditor.IWindowManager.Prompt - name: Prompt - nameWithType: IWindowManager.Prompt - fullName: Battlehub.RTEditor.IWindowManager.Prompt -- uid: Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs} - commentId: '!:Global.DialogAction{Battlehub.RTEditor.PromptDialogArgs}' - definition: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - nameWithType.vb: DialogAction(Of PromptDialogArgs) - fullName.vb: DialogAction(Of Battlehub.RTEditor.PromptDialogArgs) - name.vb: DialogAction(Of PromptDialogArgs) - spec.csharp: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: < - nameWithType: < - fullName: < - - uid: Battlehub.RTEditor.PromptDialogArgs - name: PromptDialogArgs - nameWithType: PromptDialogArgs - fullName: Battlehub.RTEditor.PromptDialogArgs - - name: '>' - nameWithType: '>' - fullName: '>' - spec.vb: - - uid: Global.DialogAction`1 - name: DialogAction - nameWithType: DialogAction - fullName: DialogAction - isExternal: true - - name: '(Of ' - nameWithType: '(Of ' - fullName: '(Of ' - - uid: Battlehub.RTEditor.PromptDialogArgs - name: PromptDialogArgs - nameWithType: PromptDialogArgs - fullName: Battlehub.RTEditor.PromptDialogArgs - - name: ) - nameWithType: ) - fullName: ) -- uid: Battlehub.RTEditor.IWindowManager.Dialog* - commentId: Overload:Battlehub.RTEditor.IWindowManager.Dialog - name: Dialog - nameWithType: IWindowManager.Dialog - fullName: Battlehub.RTEditor.IWindowManager.Dialog -- uid: Battlehub.RTEditor.IWindowManager.CopyTransform* - commentId: Overload:Battlehub.RTEditor.IWindowManager.CopyTransform - name: CopyTransform - nameWithType: IWindowManager.CopyTransform - fullName: Battlehub.RTEditor.IWindowManager.CopyTransform -- uid: Battlehub.RTEditor.IWindowManager.SetTransform* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetTransform - name: SetTransform - nameWithType: IWindowManager.SetTransform - fullName: Battlehub.RTEditor.IWindowManager.SetTransform -- uid: Battlehub.RTEditor.IWindowManager.GetHeaderText* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetHeaderText - name: GetHeaderText - nameWithType: IWindowManager.GetHeaderText - fullName: Battlehub.RTEditor.IWindowManager.GetHeaderText -- uid: Battlehub.RTEditor.IWindowManager.SetHeaderText* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetHeaderText - name: SetHeaderText - nameWithType: IWindowManager.SetHeaderText - fullName: Battlehub.RTEditor.IWindowManager.SetHeaderText -- uid: Battlehub.RTEditor.IWindowManager.GetHeaderIcon* - commentId: Overload:Battlehub.RTEditor.IWindowManager.GetHeaderIcon - name: GetHeaderIcon - nameWithType: IWindowManager.GetHeaderIcon - fullName: Battlehub.RTEditor.IWindowManager.GetHeaderIcon -- uid: Battlehub.RTEditor.IWindowManager.SetHeaderIcon* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SetHeaderIcon - name: SetHeaderIcon - nameWithType: IWindowManager.SetHeaderIcon - fullName: Battlehub.RTEditor.IWindowManager.SetHeaderIcon -- uid: Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate* - commentId: Overload:Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate - name: ForceLayoutUpdate - nameWithType: IWindowManager.ForceLayoutUpdate - fullName: Battlehub.RTEditor.IWindowManager.ForceLayoutUpdate -- uid: Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName* - commentId: Overload:Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName - name: DefaultPersistentLayoutName - nameWithType: IWindowManager.DefaultPersistentLayoutName - fullName: Battlehub.RTEditor.IWindowManager.DefaultPersistentLayoutName -- uid: Battlehub.RTEditor.IWindowManager.LayoutExist* - commentId: Overload:Battlehub.RTEditor.IWindowManager.LayoutExist - name: LayoutExist - nameWithType: IWindowManager.LayoutExist - fullName: Battlehub.RTEditor.IWindowManager.LayoutExist -- uid: Battlehub.RTEditor.IWindowManager.SaveLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.SaveLayout - name: SaveLayout - nameWithType: IWindowManager.SaveLayout - fullName: Battlehub.RTEditor.IWindowManager.SaveLayout -- uid: Battlehub.RTEditor.IWindowManager.LoadLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.LoadLayout - name: LoadLayout - nameWithType: IWindowManager.LoadLayout - fullName: Battlehub.RTEditor.IWindowManager.LoadLayout -- uid: Battlehub.RTEditor.IWindowManager.DeleteLayout* - commentId: Overload:Battlehub.RTEditor.IWindowManager.DeleteLayout - name: DeleteLayout - nameWithType: IWindowManager.DeleteLayout - fullName: Battlehub.RTEditor.IWindowManager.DeleteLayout diff --git a/Docs/api/Battlehub.RTEditor.yml b/Docs/api/Battlehub.RTEditor.yml deleted file mode 100644 index a5a7bfd..0000000 --- a/Docs/api/Battlehub.RTEditor.yml +++ /dev/null @@ -1,22 +0,0 @@ -### YamlMime:ManagedReference -items: -- uid: Battlehub.RTEditor - commentId: N:Battlehub.RTEditor - id: Battlehub.RTEditor - children: - - Battlehub.RTEditor.IWindowManager - langs: - - csharp - - vb - name: Battlehub.RTEditor - nameWithType: Battlehub.RTEditor - fullName: Battlehub.RTEditor - type: Namespace - assemblies: - - cs.temp.dll -references: -- uid: Battlehub.RTEditor.IWindowManager - commentId: T:Battlehub.RTEditor.IWindowManager - name: IWindowManager - nameWithType: IWindowManager - fullName: Battlehub.RTEditor.IWindowManager diff --git a/Docs/api/toc.yml b/Docs/api/toc.yml deleted file mode 100644 index a99a6ce..0000000 --- a/Docs/api/toc.yml +++ /dev/null @@ -1,11 +0,0 @@ -### YamlMime:TableOfContent -- uid: Battlehub.RTCommon - name: Battlehub.RTCommon - items: - - uid: Battlehub.RTCommon.IOC - name: IOC -- uid: Battlehub.RTEditor - name: Battlehub.RTEditor - items: - - uid: Battlehub.RTEditor.IWindowManager - name: IWindowManager diff --git a/Docs/docfx.json b/Docs/docfx.json deleted file mode 100644 index ca3e248..0000000 --- a/Docs/docfx.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "metadata": [ - { - "src": [ - { - "src": "..", - "files": [ - "Assets/**/*.cs" - ], - "exclude": [ - "Assets/Plugins/**" - ] - } - ], - "globalNamespaceId": "Global", - "filter": "filterConfig.yml", - "dest": "api" - } - ], - "build": { - "globalMetadata": { - "_appTitle": "Example Unity documentation", - "_appFooter": "Example Unity documentation", - "_enableSearch": true - }, - "content": [ - { - "files": [ - "toc.yml", - "index.md" - ] - }, - { - "src": "api", - "files": [ - "*.yml" - ], - "dest": "api" - }, - { - "src": "manual", - "files": [ - "toc.yml", - "*.md" - ], - "dest": "manual" - } - ], - "overwrite": [ - { - "src": "..", - "files": [ - "Assets/Scripts/**/*.md" - ] - } - ], - "resource": [ - { - "files": [ - "resources/**/*", - "logo.svg", - "favicon.ico" - ] - } - ], - "sitemap": { - "baseUrl": "https://normanderwan.github.io/DocFxForUnity", - "changefreq": "weekly", - "fileOptions": { - "api/*": { - "changefreq": "daily" - } - } - }, - "xref": [ - "https://normanderwan.github.io/UnityXrefMaps/xrefmap.yml" - ], - "xrefService": [ - "https://xref.docs.microsoft.com/query?uid={uid}" - ], - "dest": "../_site" - } -} \ No newline at end of file diff --git a/Docs/favicon.ico b/Docs/favicon.ico deleted file mode 100644 index 81d56e3..0000000 Binary files a/Docs/favicon.ico and /dev/null differ diff --git a/Docs/filterConfig.yml b/Docs/filterConfig.yml deleted file mode 100644 index 07b0fc6..0000000 --- a/Docs/filterConfig.yml +++ /dev/null @@ -1,25 +0,0 @@ -apiRules: -- include: - uidRegex: ^Battlehub\.RTCommon\.IOC$ - type: Class -- exclude: - uidRegex: ^Battlehub\.RTCommon\..*$ - type: Type -- include: - uidRegex: ^Battlehub\.RTCommon$ - type: Namespace -- include: - uidRegex: ^Battlehub\.RTEditor\.IWindowManager$ - type: Interface -- exclude: - uidRegex: ^Battlehub\.RTEditor\..*$ - type: Type -- include: - uidRegex: ^Battlehub\.RTEditor$ - type: Namespace -- exclude: - uidRegex: ^Global - type: Namespace -- exclude: - uidRegex: .* - type: Namespace \ No newline at end of file diff --git a/Docs/index.md b/Docs/index.md deleted file mode 100644 index 70515bc..0000000 --- a/Docs/index.md +++ /dev/null @@ -1,164 +0,0 @@ -# Runtime Editor Docs - -Welcome to documentation of Runtime Editor v.3.5.0 the set of scripts and prefabs that will help you to implement scene editor, game level editor or build your own modeling application. If you are new to this documentation please proceed to [introduction] (manual/general.md) page to get an overview what Runtime Editor -and this documentation has to offer. - -> [!NOTE] -> If you cannot find something in the documentation or have any questions, send an email to [Battlehub@outlook.com](mailto:Battlehub@outlook.com) or ask directly in this [support group](https://t.me/battlehub). - - -Previous Versions: - -* [v 2.00](http://rteditor.battlehub.net/v20/) -* [v 2.03](http://rteditor.battlehub.net/v203/) -* [v 2.04](http://rteditor.battlehub.net/v204/) -* [v 2.05](http://rteditor.battlehub.net/v205/) -* [v 2.11](http://rteditor.battlehub.net/v211/) -* [v 2.26](http://rteditor.battlehub.net/v226/) - -The documentation is organized as following: - -##[General] (manual/general.md) -* [Introduction] (manual/general.md#introduction) -* [List of Features](manual/general.md#list-of-features) -* [Changelog](manual/general.md#changelog) -* [About](manual/general.md#about) - -## __Getting Started__ -* [Getting Started with Runtime Editor] (manual/runtime-editor.md#getting-started) -* [Getting Started with Transform Handles] (manual/transform-handles.md#getting-started) -* [Getting Started with Save & Load] (manual/save-load.md#getting-started) -* [Expose To Editor] (manual/infrastructure.md#expose-to-editor) -* [Event methods] (manual/infrastructure.md#event-methods) -* [IOC] (manual/infrastructure.md#ioc) -* [Runtime Selection] (manual/infrastructure.md#runtime-selection) -* [Runtime Undo] (manual/infrastructure.md#runtime-undo) - -## [Transform Handles] (manual/transform-handles.md) -* [Overview] (manual/transform-handles.md#overview) -* [Getting Started] (manual/transform-handles.md#getting-started) -* [Base Handle] (manual/transform-handles.md#base-handle) -* [Position Handle] (manual/transform-handles.md#position-handle) -* [Rotation Handle] (manual/transform-handles.md#rotation-handle) -* [Scale Handle] (manual/transform-handles.md#scale-handle) -* [Rect Tool] (manual/transform-handles.md#rect-tool) -* [Locking Axes] (manual/transform-handles.md#locking-axes) -* [Scene Gizmo] (manual/transform-handles.md#scene-gizmo) -* [Grid] (manual/transform-handles.md#grid) -* [Runtime Handles Component] (manual/transform-handles.md#runtime-handles-component) -* [Runtime Selection Component] (manual/transform-handles.md#runtime-selection-component) -* [Box Selection] (manual/transform-handles.md#box-selection) -* [Runtime Scene Component] (manual/transform-handles.md#runtime-scene-component) - -## [Common Infrastructure] (manual/infrastructure.md) -* [Overview] (manual/infrastructure.md#overview) -* [Expose To Editor] (manual/infrastructure.md#expose-to-editor) -* [Event methods] (manual/infrastructure.md#event-methods) -* [IOC] (manual/infrastructure.md#ioc) -* [IRTE interface] (manual/infrastructure.md#irte-interface) -* [Input] (manual/infrastructure.md#input) -* [RTE Component] (manual/infrastructure.md#rte-component) -* [Runtime Selection] (manual/infrastructure.md#runtime-selection) -* [Runtime Objects] (manual/infrastructure.md#runtime-objects) -* [Runtime Tools] (manual/infrastructure.md#runtime-tools) -* [Runtime Undo] (manual/infrastructure.md#runtime-undo) -* [Drag And Drop] (manual/infrastructure.md#drag-and-drop) -* [Runtime Window] (manual/infrastructure.md#runtime-window) - -## [Runtime Editor] (manual/runtime-editor.md) -* [Overview] (manual/runtime-editor.md#overview) -* [Getting Started] (manual/runtime-editor.md#getting-started) -* [Main & Context Menu] (manual/runtime-editor.md#main--context-menu) -* [RTEDeps] (manual/runtime-editor.md#rtedeps) -* [Window Manager] (manual/runtime-editor.md#window-manager) -* [How To: How to add custom window to Window Manager] (manual/runtime-editor.md#how-to-add-custom-window-to-window-manager) -* [How to: override default layout] (manual/runtime-editor.md#how-to-override-default-layout) -* [How to: override scene parameters] (manual/runtime-editor.md#how-to-override-scene-parameters) -* [How to: override tools panels] (manual/runtime-editor.md#how-to-override-tools-panel) -* [How to: override ui scale] (manual/runtime-editor.md#how-to-override-ui-scale) -* [How to: change runtime editor colors] (manual/runtime-editor.md#how-to-change-runtime-editor-colors) -* [File Importers] (manual/runtime-editor.md#file-importers) -* [Inspector View] (manual/runtime-editor.md#inspector-view) -* [How To: Configure Editors] (manual/runtime-editor.md#how-to-configure-editors) -* [How To: Select Component Properties] (manual/runtime-editor.md#how-to-select-component-properties) -* [Resource Preview Utility] (manual/runtime-editor.md#resource-preview-utility) - -## [Save Load] (manual/save-load.md) -* [Overview] (manual/save-load.md#overview) -* [Getting Started] (manual/save-load.md#getting-started) -* [Persistent Classes] (manual/save-load.md#persistent-classes) -* [How To: Create Custom Persistent Class] (manual/save-load.md#how-to-create-custom-persistent-class) -* [Asset Library] (manual/save-load.md#asset-library) -* [How To: Create Asset Library] (manual/save-load.md#how-to-create-asset-library) -* [Project Item & Asset Item] (manual/save-load.md#project-item--asset-item) -* [Project] (manual/save-load.md#project) - -## [Rendering] (manual/rendering.md) -* [IRTECamera] (manual/rendering.md#irtecamera) -* [Graphics Layer Camera] (manual/rendering.md#graphics-layer-camera) - -## [Gizmos] (manual/gizmos.md) -* [Overview] (manual/gizmos.md#overview) -* [Getting Started With Gizmos] (manual/gizmos.md#getting-started) -* [Base Gizmo] (manual/gizmos.md#base-gizmo) -* [Box Gizmo] (manual/gizmos.md#box-gizmo) -* [Sphere Gizmo] (manual/gizmos.md#sphere-gizmo) -* [Capsule Gizmo] (manual/gizmos.md#capsule-gizmo) -* [Cone Gizmo] (manual/gizmos.md#cone-gizmo) -* [Box Collider Gizmo] (manual/gizmos.md#box-collider-gizmo) -* [Sphere Collider Gizmo] (manual/gizmos.md#sphere-collider-gizmo) -* [Capsule Collider Gizmo] (manual/gizmos.md#capsule-collider-gizmo) -* [Point Light Gizmo] (manual/gizmos.md#point-light-gizmo) -* [Spot Light Gizmo] (manual/gizmos.md#spot-light-gizmo) -* [Directional Light Gizmo] (manual/gizmos.md#directional-light-gizmo) -* [Audio Source Gizmo] (manual/gizmos.md#audio-source-gizmo) -* [Audio Reverb Zone Gizmo] (manual/gizmos.md#audio-reverb-zone-gizmo) -* [Skinned Mesh Renderer Gizmo] (manual/gizmos.md#skinned-mesh-renderer-gizmo) - -## [Dock Panel] (manual/dock-panels.md) -* [Overview] (manual/dock-panels.md#overview) -* [Getting Started] (manual/dock-panels.md#getting-started) -* [Dock Panel] (manual/dock-panels.md#dock-panel) -* [Tab] (manual/dock-panels.md#tab) -* [Region] (manual/dock-panels.md#region) -* [Dialog Manager] (manual/dock-panels.md#dialog-manager) - -## [Virtualizing TreeView] (manual/vtv.md) -* [Overview] (manual/vtv.md#overview) -* [Getting Started] (manual/vtv.md#getting-started) -* [Virtualizing Scroll Rect] (manual/vtv.md#virtualizing-scroll-rect) -* [Virtualizing Items Control] (manual/vtv.md#virtualizing-items-control) -* [Virtualizing Drop Marker] (manual/vtv.md#virtualizing-drop-marker) -* [Virtualizing Tree View] (manual/vtv.md#virtualizing-tree-view) -* [Virtualizing Tree View Item] (manual/vtv.md#virtualizing-tree-view-item) - -## [Menu Control] (manual/menu-control.md) -* [Overview] (manual/menu-control.md#overview) -* [Getting Started] (manual/menu-control.md#getting-started) -* [Menu Item] (manual/menu-control.md#menu-item) -* [Menu] (manual/menu-control.md#menu) -* [Main Menu Button] (manual/menu-control.md#main-menu-button) -* [Context Menu Trigger] (manual/menu-control.md#context-menu-trigger) - -##[Animation Editor] (manual/animation-editor.md) -* [Overview] (manual/animation-editor.md#overview) - -##[Editor Extensions] (manual/editor-extensions.md) -* [Overview] (manual/editor-extensions.md#overview) -* [Getting Started] (manual/editor-extensions.md#getting-started) -* [Editor Extensions] (manual/editor-extensions.md#editor-extensions) -* [Runtime Builder] (manual/editor-extensions.md#runtime-builder) -* [Terrain Editor] (manual/editor-extensions.md#terrain-editor) -* [Runtime Scripting] (manual/editor-extensions.md#runtime-scripting) - -##[Universal RP Support] (manual/urp-support.md) -* [Overview] (manual/urp-support.md#overview) -* [Getting Started] (manual/urp-support.md#getting-started) - -##[HDRP Support] (manual/hdrp-support.md) -* [Overview] (manual/hdrp-support.md#overview) -* [Getting Started] (manual/hdrp-support.md#getting-started) - - - - diff --git a/Docs/logo.svg b/Docs/logo.svg deleted file mode 100644 index 30433d1..0000000 --- a/Docs/logo.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - diff --git a/Docs/manual/animation-editor.md b/Docs/manual/animation-editor.md deleted file mode 100644 index 6dad62e..0000000 --- a/Docs/manual/animation-editor.md +++ /dev/null @@ -1,133 +0,0 @@ -#Animation Editor Docs -##Overview -The Animation Editor adds to the Runtime Editor the ability to create and edit animations. - -![Screenshot](~/resources/img/animation-editor/animation-editor.png) - -Animation Editor Prefabs can be found in __Assets\Battlehub\RTEditor\Content\Runtime\RTEditor\Prefabs__. - - -This is example on how to create RuntimeAnimation: - -``` C# - -using Battlehub.RTCommon; -using Battlehub.UIControls.MenuControl; -using System.Collections.Generic; -using UnityEngine; - -namespace Battlehub.RTEditor.Examples.Scene90 -{ - /* - Property names can be looked up by setting Asset Serialization to Force Text mode - in the Editor settings. The text files that are then written by the editor will - include the names of the properties. - For example, the yaml file written for a Scene object will include the Camera settings. - Looking at this yaml file will show: - m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - This shows that the name for the FOV parameter is "field of view". - If you wanted to create an animation clip to animate the camera field of view, - you would pass "field of view" as the propertyName. - */ - - [MenuDefinition] - public class AnimationEditorExampleMenu : MonoBehaviour - { - [MenuCommand("Example/Create Runtime Animation")] - public void CreateRuntimeAnimation() - { - GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube); - go.AddComponent(); - - RuntimeAnimationClip clip = - ScriptableObject.CreateInstance(); - - RuntimeAnimationProperty property = new RuntimeAnimationProperty(); - property.Component = go.GetComponent(); - property.ComponentTypeName = "UnityEngine.Transform, UnityEngine.CoreModule"; - property.ComponentDisplayName = "Transform"; - property.AnimationPropertyName = "m_LocalPosition"; - property.PropertyDisplayName = "Position"; - property.PropertyName = "localPosition"; - - property.Children = new List - { - new RuntimeAnimationProperty - { - Parent = property, - Component = property.Component, - ComponentTypeName = property.ComponentTypeName, - PropertyDisplayName = "x", - PropertyName = "x", - Curve = new AnimationCurve - { - keys = new[] - { - new Keyframe(0, go.transform.position.x), - new Keyframe(0.5f, go.transform.position.x), - new Keyframe(1, go.transform.position.x), - } - } - }, - new RuntimeAnimationProperty - { - Parent = property, - Component = property.Component, - ComponentTypeName = property.ComponentTypeName, - PropertyDisplayName = "y", - PropertyName = "y", - Curve = new AnimationCurve - { - keys = new[] - { - new Keyframe(0, go.transform.position.y), - new Keyframe(0.5f, go.transform.position.y + 3.0f), - new Keyframe(1, go.transform.position.y), - } - } - }, - new RuntimeAnimationProperty - { - Parent = property, - Component = property.Component, - ComponentTypeName = property.ComponentTypeName, - PropertyDisplayName = "z", - PropertyName = "z", - Curve = new AnimationCurve - { - keys = new[] - { - new Keyframe(0, go.transform.position.z), - new Keyframe(0.5f, go.transform.position.z), - new Keyframe(1, go.transform.position.z), - } - } - } - }; - - clip.Add(property); - - RuntimeAnimation animation = go.AddComponent(); - animation.Clips = new List - { - clip - }; - - IRTE rte = IOC.Resolve(); - rte.Selection.activeGameObject = go; - } - } -} -``` \ No newline at end of file diff --git a/Docs/manual/dock-panels.md b/Docs/manual/dock-panels.md deleted file mode 100644 index eda48b2..0000000 --- a/Docs/manual/dock-panels.md +++ /dev/null @@ -1,212 +0,0 @@ -# Dock Panel Docs -## Overview - -The [__Dock Panel__](#dock-panel) is a control, that provides an easy docking of content [regions](#region) to the left, right, top, bottom or center of the panel. The control also allow region to become an independent floating window, modal popup or dialog. - -![Screenshot](~/resources/img/dock-panels/overview/dock-panels.png) - -##Getting Started - - 1. Create Canvas. - 2. Add __DockPanel.prefab__ from __Assets/Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs__ to hierarchy. - 3. Create __GettingStarted.cs script__ and add it to __DockPanel__ Game Object. - 4. Hit Play. - -![Screenshot](~/resources/img/dock-panels/get-started/create-dock-panel.png) - -``` C# -using Battlehub.UIControls.DockPanels; -using UnityEngine; -using UnityEngine.UI; - -public class GettingStarted : MonoBehaviour -{ - DockPanel m_dockPanel; - - void Start() - { - m_dockPanel = GetComponent(); - - GameObject testContent = new GameObject(); - testContent.AddComponent().color = new Color(0.2f, 0.2f, 0.2f, 1.0f); - - LayoutInfo layout = new LayoutInfo(false, - new LayoutInfo(testContent.transform, "Tab 1"), - new LayoutInfo( - isVertical: true, - child0: new LayoutInfo(Instantiate(testContent).transform, "Tab 2"), - child1: new LayoutInfo(Instantiate(testContent).transform, "Tab 3"), - ratio: 0.5f), - 0.5f); - - m_dockPanel.RootRegion.Build(layout); - } -} - -``` - -![Screenshot](~/resources/img/dock-panels/get-started/get-started-result.png) - - -> [!NOTE] -> Full demo can be found in __Assets/Battlehub/RTEditorDemo/Content/Runtime/UIControls/DockPanels__ folder - -##Dock Panel - -Structure: -![Screenshot](~/resources/img/dock-panels/dock-panel/structure.png) - - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/__DockPanel.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/__DockPanel.cs__ - -Fields: - - * `Mask` - masking everything outside of DockPanel (image with Rect2D Component) - * `Docked` - parent for docked [regions](#region) - * `Free` - parent for floating [regions](#region) - * `Preview` - parent for tab preview visible during [tab](#tab) re-parenting operation. - * `Modal` - parent for modal pop-ups and dialogs. - * `Region Prefab` - reference to [region](#region) prefab. - * `Tab Prefab` - reference to default [tab](#tab) prefab. - -##Tab - -Default Style: -![Screenshot](~/resources/img/dock-panels/tab/tab.png) - -Structure: -![Screenshot](~/resources/img/dock-panels/tab/structure.png) - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/__Tab.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/__Tab.cs__ - -Fields: - - * `Canvas Group` - required to hide tab but preserve occupied space during rearrangements. - * `Img` - tab icon. - * `Text` - tab header text. - * `Close Button` - tab close button. - * `Toggle` - reference to toggle control (tab have 2 states 'selected' and 'unselected'). - -##Region - -Default Style: -![Screenshot](~/resources/img/dock-panels/region/region.png) - -Structure: -![Screenshot](~/resources/img/dock-panels/region/structure.png) - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/__Region.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/__Region.cs__ - -Fields: - - * `Maximize Toggle` - expands owner region and hide others. - * `Can Resize` - enables/disable ability to resize region. - * `Layout Element` - reference to root Layout Element. - * `Tab Panel` - panel for [tabs](#tab). - * `Content Panel` - panel for content. - * `Children Panel` - panel for child regions. - * `Root` - reference to [dock panel](#dock-panel). - * `Header Image` - region header graphics. - * `Frame Image` - region content frame graphics. - -Methods: - - - * `void Build(LayoutInfo layoutInfo)` - build layout. - - - GameObject content1 = new GameObject(); - content1.AddComponent().color = Color.red; - - GameObject content2 = new GameObject(); - content2.AddComponent().color = Color.yellow; - - m_region.Build(new LayoutInfo( - isVertical: false, - child0: new LayoutInfo(content1.transform, "Header 1"), - child1: new LayoutInfo(content2.transform, "Header 2"), - ratio: 0.25f)); - - * `void RemoveAt(int index)` - remove content at index. - * `void Add(Sprite icon, - string header, - Transform content, - bool isFree = false, - RegionSplitType splitType = RegionSplitType.None)` - add content to region. - - Sprite icon = null; - GameObject content = new GameObject(); - content.AddComponent().color = Color.green; - - //1. Add content - m_region.Add(icon, "Header1", content.transform, false, RegionSplitType.None); - - //2. Add content to the left - m_region.Add(icon, "Header2", content.transform, false, RegionSplitType.Left); - - //3. Add content to the right - m_region.Add(icon, "Header3", content.transform, false, RegionSplitType.Right); - - //4. Add content on the top - m_region.Add(icon, "Header4", content.transform, false, RegionSplitType.Top); - - //5. Add content to the bottom - m_region.Add(icon, "Header5", content.transform, false, RegionSplitType.Bottom); - - //6. Add content to floating region - m_region.Add(icon, "Tab 3", content.transform, true); - - -##Dialog Manager - -Dialog manager allows you to create various dialogs and pop-ups. Dialogs are created as a modal floating regions of [dock panel](#dock-panel). -![Screenshot](~/resources/img/dock-panels/dialog-manager/dialog-manager.png) - -To use dialog manager do following: - - 1. Add Assets/Battlehub/RTEditor/Runtime/UIControls/Dialog/__DialogManager__ component. - 2. Set `Dock Panel` field. - 3. Set `Dialog` field to Assets/Battlehub/RTEditor/Content/Runtime/UIControls/Dialog/Prefabs/__Dialog.prefab__. - -![Screenshot](~/resources/img/dock-panels/dialog-manager/usage.png) - -``` C# -using Battlehub.UIControls.Dialogs; -using UnityEngine; -using UnityEngine.UI; - -public class DialogManagerExamples : MonoBehaviour -{ - [SerializeField] - DialogManager m_dialogManager; - - [SerializeField] - Sprite m_icon; - - void Start() - { - //Show message box with "OK" button - m_dialogManager.ShowDialog(m_icon, "Message Header", "Message Text"); - - //Show confirmation with "Yes" and "No" buttons - m_dialogManager.ShowDialog(m_icon, "Scene has been modified", "Do you want to save changed you made in the scene?", - (dialog, cancelArgs) => - { - Debug.Log("Yes clicked"); - }, "Yes", - (dialog, cancelArgs) => - { - Debug.Log("No clicked"); - }, "No"); - - //Show popup with custom content - GameObject content = new GameObject(); - content.AddComponent().color = Color.red; - m_dialogManager.ShowDialog(m_icon, "Popup", content.transform); - } -} - -``` \ No newline at end of file diff --git a/Docs/manual/editor-extensions.md b/Docs/manual/editor-extensions.md deleted file mode 100644 index 5a3f507..0000000 --- a/Docs/manual/editor-extensions.md +++ /dev/null @@ -1,205 +0,0 @@ -#Editor Extensions Docs -##Overview -[__Editor Extensions__](#editor-extensions) are additional functionality that can be used optionally with the Runtime Editor. At the moment there are three built-in editor extensions: - -1. [Runtime Builder](#runtime-builder) - integration and user interface for [Unity ProBuilder](https://docs.unity3d.com/Packages/com.unity.probuilder@4.2). -2. [Terrain Editor](#terrain-editor) - user interface and additional functionality for [Terrain](https://docs.unity3d.com/Manual/script-Terrain.html) editing -3. [Runtime Scripting](#runtime-scripting) - ability to create and compile [MonoBehavior scripts](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html) at runtime - -![Screenshot](~/resources/img/extensions/overview.png) - -##Getting Started -To start working with the editor extensions perform the following steps: - - 1. Create Runtime Editor using Tools->Runtime Editor->__Create Editor__. - 2. Create Editor Extensions using Tools->Runtime Editor->__Create Extensions__. - ![Screenshot](~/resources/img/extensions/getting-started1.png) -   - 3. Hit Play. - 4. Editor extensions should be available from the Window menu item. - ![Screenshot](~/resources/img/extensions/getting-started2.png) -   - -##Editor Extensions - -Editor extensions are located in __Assets/Battlehub/RTExtensions__ folder. -The __/Content__ folder contains resources and prefabs, the __/Runtime__ folder contains runtime scripts, and the __/Editor__ folder contains scripts that run in the Unity editor. -The prefab that initializes all extensions is called __EditorExtensions__ and is located in the __/RTExtensions/Content/Runtime__ folder. - -![Screenshot](~/resources/img/extensions/editor-extensions.png) - -##Runtime Builder - -The __Runtime Builder__ extension allows you to create and edit meshes, prototype, edit game object materials and texture UVs in Runtime Editor using [Unity ProBuilder](https://docs.unity3d.com/Packages/com.unity.probuilder@4.2). - -__RTBuilder__ prefab can be found in __/Battlehub/RTExtensions/Content/Runtime/RTBuilder__. - -Standalone RTBuilder demo scene can be found in: __/Battlehub/RTEditorDemo/Content/Runtime/RTExtensions/RTBuilder__ - -![Screenshot](~/resources/img/extensions/rtbuilder/standalone-demo.png) - -##Terrain Editor - -The __Terrain Editor__ extension allows you to add to Runtime Editor the possibility of editing Terrain objects. - -__RTTerrain__ prefab can be found in __/Battlehub/RTExtensions/Content/Runtime/RTTerrain folder. - -![Screenshot](~/resources/img/extensions/rtterrain/terrain-editor.png) - -![Screenshot](~/resources/img/extensions/rtterrain/terrain-editor-inspector.png) - -##Runtime Scripting -The __Runtime Scripting__ extension allows you to create C# scripts at run-time using the Runtime Editor. -The __RTScripting__ prefab that initializes the extension can be found at __/Battlehub/RTScripting/Content/Runtime__. - -> [!NOTE] -> Unpack __RTScripting__ and __RTScripting Demo__ packages: -> -> ![Screenshot](~/resources/img/extensions/rtscripting/unpack-rtscripting.png) - -> [!NOTE] -> Runtime Scripting Extension is __only__ supported in a __Standalone Windows build__ - -> [!NOTE] -> Runtime Scripting Extension use [Roslyn.net compiler platform](https://github.com/dotnet/roslyn) - -After adding the __RTScripting__ prefab to the scene, the __Create->Script__ context menu item becomes available. -![Screenshot](~/resources/img/extensions/rtscripting/create-script.png) - -The script editor can be opened using the context menu or by double-clicking the script icon. -![Screenshot](~/resources/img/extensions/rtscripting/edit-script.png) - -For programmatic access to the RTScripting extension you need to use the __IRuntimeScriptManager__ interface. Here is how to add references to additional assemblies: -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using Battlehub.RTScripting; -using UnityEngine.AI; - -public class AddReferencesExample : EditorExtension -{ - protected override void OnEditorExist() - { - base.OnEditorExist(); - - IRuntimeScriptManager scriptManager = IOC.Resolve(); - scriptManager.AddReference(typeof(NavMesh).Assembly.Location); - } -} - -``` - -Example on how to create and compile script at runtime: - -```C# -using Battlehub.RTCommon; -using Battlehub.RTScripting; -using Battlehub.RTSL.Interface; -using Battlehub.UIControls.MenuControl; -using System; -using System.Threading.Tasks; -using UnityEngine; - -namespace Battlehub.RTEditor.Examples.Scene60 -{ - [MenuDefinition] - public class RuntimeScriptingExampleMenu : MonoBehaviour - { - private static string s_nl = Environment.NewLine; - private static string s_csTemplate = - "using System.Collections;" + s_nl + - "using System.Collections.Generic;" + s_nl + - "using UnityEngine;" + s_nl + s_nl + - - "public class {0} : MonoBehaviour" + s_nl + - "{{" + s_nl + - " // Start is called before the first frame update" + s_nl + - " void Start()" + s_nl + - " {{" + s_nl + - " {1}" + s_nl + - " }}" + s_nl + s_nl + - - " // Update is called once per frame" + s_nl + - " void Update()" + s_nl + - " {{" + s_nl + - " {2}" + s_nl + - " }}" + s_nl + s_nl + - - " void OnRuntimeEditorOpened()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Editor Opened\");" + s_nl + - " }}" + s_nl + s_nl + - - " void OnRuntimeEditorClosed()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Editor Closed\");" + s_nl + - " }}" + s_nl + s_nl + - - " void RuntimeAwake()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Awake in play mode\");" + s_nl + - " }}" + s_nl + s_nl + - - " void RuntimeStart()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Start in play mode\");" + s_nl + - " }}" + s_nl + s_nl + - - " void OnRuntimeDestroy()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Destroy in play mode\");" + s_nl + - " }}" + s_nl + s_nl + - - " void OnRuntimeActivate()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Game view activated\");" + s_nl + - " }}" + s_nl + s_nl + - - " void OnRuntimeDeactivate()" + s_nl + - " {{" + s_nl + - " Debug.Log(\"Game view deactivated\");" + s_nl + - " }}" + s_nl + s_nl + - - "}}"; - - [MenuCommand("Example/Create Script")] - public async void CreateScript() - { - IProjectAsync project = IOC.Resolve(); - IRuntimeScriptManager scriptManager = IOC.Resolve(); - - string desiredTypeName = "MyHelloWorld"; - - ProjectItem assetItem = - await scriptManager.CreateScriptAsync( - project.State.RootFolder, - desiredTypeName); - - RuntimeTextAsset cs = await scriptManager.LoadScriptAsync(assetItem); - - string typeName = cs.name; - - cs.Text = - string.Format(s_csTemplate, typeName, "Debug.Log(\"Hello World\");", " ", ""); - await scriptManager.SaveScriptAsync(assetItem, cs); - await scriptManager.CompileAsync(); - - GameObject testGo = new GameObject("RT Scripting example"); - testGo.AddComponent(); - testGo.AddComponent(scriptManager.GetType(typeName)); - - await Task.Yield(); - - IRTE editor = IOC.Resolve(); - editor.IsPlaying = true; - - await Task.Yield(); - - editor.IsPlaying = false; - } - } -} -``` - - - diff --git a/Docs/manual/general.md b/Docs/manual/general.md deleted file mode 100644 index 3655551..0000000 --- a/Docs/manual/general.md +++ /dev/null @@ -1,393 +0,0 @@ -#Introduction - -![Screenshot](~/resources/img/rteditor/overview/overview.png) - -This documentation covers most important parts of Runtime Editor. Unlike previous versions of the documentation, -I tried to concentrate more on examples rather then documenting each property of each script. [Let me know](mailto:Battlehub@outlook.com) what examples you would like to see. - -Start with following sections: - -* [Getting Started with Runtime Editor](runtime-editor.md#getting-started) -* [Getting Started with Transform Handles](transform-handles.md#getting-started) -* [Getting Started with Save & Load](save-load.md#getting-started) -* [Expose To Editor](infrastructure.md#expose-to-editor) -* [Event methods](infrastructure.md#event-methods) -* [IOC](infrastructure.md#ioc) -* [Runtime Selection](infrastructure.md#runtime-selection) -* [Runtime Undo](infrastructure.md#runtime-undo) - -##List of Features - - * Position Handle, Rotation Handle, Scale Handle, Rect Tool. - * Grid, Box Selection, Scene Gizmo. - * Global & Local coordinates, Local & Center pivot point modes, Vertex & Grid snapping. - * Gizmos for Colliders, Lights and Audio Sources. - * Scene navigation, Orthographic & Perspective mode. - * Undo & Redo API. - * Object selection API. - * Object life-cycle Events. - * Play & Edit mode. - * __Configurable Inspector__. - * Component & Material editors. - * 20+ Built-in property editors. - * __Ability to edit components of multiple selected objects.__ - * Add Component control. - * __Multiple scenes__ and cameras support. - * __Dock Panels__ & Windows Management. - * Dialogs, Message Boxes, Confirmations. - * Easy to extend with new windows. - * __Configurable Main & Context menu__. - * Lightweight Virtualizing Tree View for Hierarchy and Project windows. - * __Configurable Save & Load subsystem__ (almost no coding is required). - * __Easy to use Project API__. - * __Static Assets, Asset Bundles and Runtime Assets support__. - * Load assets on demand. - * Multiple Projects support. - * __Animation Editor__. - * __Terrain Editor__. - * __ProBuilder Integration__. - * __Runtime Scripting__. - * __Universal Render Pipeline__ support. - * __HD Renderer Pipeline__ support (Beta). - * __Mobile Support__. - - -###Breaking Changes - -Old Views derived from RuntimeWindow are replaced with Views and ViewModels and [MVVM-style data-binding system for Unity](https://github.com/Real-Serious-Games/Unity-Weld). - * Old views and dialogs have been moved to the __Battlehub/RTEditor/Runtime/RTEditor/Legacy__ folder. - * Old prefabs can be found in the __Battlehub/RTEditor/Content/Runtime/RTEditor/Prefabs/Legacy__ folder. - * New Views and ViewModels are located in __Battlehub/RTEditor/Runtime/RTEditor/Views__ and __Assets/Battlehub/RTEditor/Runtime/RTEditor/ViewsModels__ respectively. - -If you want to use legacy built-in windows, select the __"Use Legacy Built-In Windows"__ toggle in the WindowManager component of the RuntimEditor prefab. - -![Screenshot](~/resources/img/rteditor/overview/use-legacy-builtin-windows.png) - -##Changelog - -####RTE 3.5.0 - Dec 24, 2021 - -* RTE: SceneViewImpl, SceneViewModel ExposePrefabInstance modified to not expose full hierarchy. -* UI: Set VirtualizingListBoxItem.m_toggle.interactable to true by default -* UI: Added VirtualizingScrollRect.ItemsChanged event -* UI: Added VirtualizingListBoxBinding.CanRemove property -* UI: Added VirtualizingListBoxBinding.CanReorder property -* UI: Added VirtualizingListBoxBinding.CanSelect property -* UI: Added VirtualizingListBoxBinding.Target property -* UI: Changed VirtualizingListBoxBinding base class from AbstractMemberBinding to ControlBinding -* RTE: Added code to activate Dialog windows WindowManager.OnInputModuleUpdate() -* RTE: Added WindowOverlay to RuntimeEditor.prefab \UI\LayoutRoot\Middle\DockPanels\Mask\Modal -* RTE PeekMode: added Commands Panel -* RTE PeekMode: added Group, Ungroup, CreatePrefab buttons to GameObjectView -* RTE PeekMode: added "Begin Create" button -* RTE: Added Tools/Runtime Editor/Create Custom Window menu command -* RTE: Added ability to Create CustomView and CustomViewModel from template -* RTE: UnityWeld.dll Auto Reference flag set to True -* RTH: Added code to update ExposeToEditor.LocalEulerAngles from RotationHandle -* RTE: Added support for Rotations > 360 degrees in Animation Editor -* RTE: Fixed AnimationViewModel undo & redo -* RTE: Fixed Legacy AnimationView undo & redo -* RTE: Added InspectorModel -* RTC: Deprecated RuntimeTools.ShowGizmos, ShowGizmosChanged, ShowSelectionGizmos, ShowSelectionGizmosChanged -* RTC: IOC.IsRegistered and IOC.IsFallbackRegistered methods added -* RTE: Models\Placement\PlacementModel added to RuntimeEditor.prefab -* RTE: Models\Grouping\GroupingModel added to RuntimeEditor.prefab -* RTE: Deprecated IRuntimEditorExt -* RTE: Added IPlacementModel, PlacementModel -* RTE: Added IGroupingModel, GroupingModel -* RTE PeekMode: Added PeekModeCommandsHandler -* RTE PeekMode: Added CreatorWindow -* RTE: Added Transform IWindowManager.Prompt(string header, string text, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel") -* RTE: Added Transform IWindowManager.Prompt(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, string okText = "OK", string cancelText = "Cancel") -* RTE: Added EmptyView and EmptyDialog -* RTE: Added AutoUI -* RTE: added IProjectTreeViewModel, IProjectFolderViewModel as replacement for IProjectTree and IProjectFolder -* RTC: Added IRuntimeObjects.ComponentDestroyed event -* RTC: Added ExposeToEditor._ComponentDestroyed event -* RTE: IWindowManager.CreatePopup, .CreateDropdown methods added -* UI: Added RaiseTransformChanged() call to Start method of RectTransformChangeListener (in order to correctly initialize VirtualizingScrollRect) -* UI: Added Region.Destroy method -* UI: Added DockPanel.AddDropdownRegion and .AddPopupRegion methods with various overloads. -* RTE: Added IRuntimeEditor.StopCoroutine -* RTE: Added IWindowManager Confirmation overloads -* UI: Added DialogManager .ShowComplexDialog -* UI: Added Dialog Alt button, Alt event and Alt action -* RTH: Changed RuntimeHitTester DefaultExecutionOrder to -89 -* RTB: Added support for Probuilder 4.4.0, 5.0.3 -* RTC: Added IRuntimeUndo.AddComponentWithRequirements -* RTH: Added MinOrthoSize, MaxOrthoSize properties to RuntimeSceneComponent -* RTE PeekMode: Dropdowns, add component panel, add component viewmodel -* RTE PeekMode: GameObjectName toggle + styling -* RTE PeekMode: ContextPanel using minimum distance = 50 when Empty Game Object selected -* UI: Fixed NullReferenceException when opening a menu control with more than 2 levels of depth -* RTE PeekMode: Added ComponentViewModel -* RTE PeekMode: Added ContextPanelViewModel -* RTE: Component Editor Icons added -* RTE: Added Default Component Editor Icon -* RTE: Added ComponentEditorSettings.ShowIcon and ComponentEditorSettings.Icon fields -* RTE: Added HeaderDescriptor.ShowIcon and HeaderDescriptor.Icon fields -* RTE: Added Component Editor Icon -* RTE: Implemented PeekMode context panel visibility and positioning -* RTB: Highlight AutoUV with different color in Manual UV Editor window -* RTB: Hidden position/rotation/scale handle axes if no faces selected in uv editing mode -* RTB: Fixed bug where ManualUVRenderer was not refreshed correctly on mesh editing to uv editing mode change -* RTB: Fixed bug where ManualUVRenderer was not refreshed correctly on vertex/edge/face mode change -* UI: Added SceneName parameter to MenuDefinitionAttribute (defines scene which menu applies to) -* RTE: Added PeekModeScene and PeekModeLayout -* RTE: Added BuiltInWindowNames -* RTE: Added LayoutExtension -* UI: Added LayoutInfo LayoutInfo.Horizontal(LayoutInfo top, LayoutInfo bottom, float ratio = 0.5f); -* UI: Added LayoutInfo LayoutInfo.Vertical(LayoutInfo left, LayoutInfo right, float ratio = 0.5f); -* UI: Added LayoutInfo LayoutInfo.Group(params LayoutInfo[] tabGroup); -* RTE: Added Transform IWindowManager.CreateWindow(string windowTypeName, out WindowDescriptor wd); -* RTE: Added Transform IWindowManager.CreateWindow(string windowTypeName, out WindowDescriptor wd, out bool isDialog); -* RTE: Added LayoutInfo IWindowManager.CreateLayoutInfo(Transform content, WindowDescriptor desc); -* RTH: Added SelectionPicker (corresponding code removed from BoxSelection and BoxSelectionRenderer) -* RTE: Replaced UnityEvent HideInInspector with NonSerialized attribute -* RTE: Added ReplaceSceneViewAndViewModelExample -* RTE: Added ability to overrided views -* RTE: Added SceneViewModelOverride example -* RTE: Added ability to override view models -* RTSL: Added support for objects with subassets imported from asset bundles. -* RTB: Material palette view tooltips added -* RTE: Added LocalizedTooltip -* RTC: SetCursor if m_currentCursorType != cursorType. CursorHelper.SetCursor return value changed from void to bool. -* RTE: ImportFileDialog replaced -* RTE: Fixed TimelineControl key already exists exceptions when adding row with ColumnCount = 1 -* RTE: AnimationSelectPropertiesDialog replaced -* RTH: Fixed SceneGizmo.DoSceneGizmo -* UI: DockPanel.RootRegion.FrameImage.enabled = false -* RTE: AnimationView replaced -* RTE: add BubbleUpPointerExit only if IsTouchSupported == true -* RTT: TerrainEditor instantiated by TerrainView OnEditorSelectionChanged -* RTT: store selected layer index. -* RTSL: Fixed compatibility with 2.11 - 2.26 files -* RTB: ManualUVEditorView, ManualUVSceneComponent, ManualUVRenderer fixed to work with Universal and HD RP -* RTSL: Updated PersistentSprite class to save textures which are not mapped. -* RTE: Replaced SaveAssetsDialog -* RTE: Replaced SaveFileDialog -* RTE: Replaced OpenFileDialog -* RTE: ProjectTreeViewModel select assets folder when selected folder removed -* RTE: ProjectTreeViewModel.SelectedItem accepts items for which CanDisplay returns true -* RTH: Added SelectionMode { UseColliders - default, UseRenderers, UseRenderersBeforeColliders }. -* RTT: Removed ProjectItemView from LayerListBoxItem.prefab -* UI: VirtualizingTreeViewItem.ItemPresenter.Label Overflow set to Ellipsis -* RTE: Added bool ShowLayers = true -* RTE: Added GameObjectEditorSettings -* RTE: ZipConstants.DefaultCodePage = System.Text.Encoding.UTF8.CodePage; -* RTE: Added 'select' parameter to public static void AddGameObjectToScene(this IRTE editor, GameObject go, bool select = true) method -* RTC: Added ImputLowForRDP.cs -* RTH: #pragma target 3.5 removed from OutlineBlur, OutlinePrepass, OutlineCompomosite -* RTE: private string[] m_hiddenValues added to EnumEditor -* RTE: virtual modifer added to ComponentEditor.BuildEditor and .OnExpanded methods -* RTE: bool? IsExpandedByDefault added to ComponentEditorSettings (used to calculate defaultValue in IsComponentExpanded getter) -* RTE: Replaced ImportAssetsDialog -* RTE: Replaced SelectAssetsDialog -* RTE: Renderers with isPartOfStaticBatch == true excluded from BoxSelection -* RTE: Using Screen.currentResolution.width instead of Display.main.systemWidth -* RTE: BaseGizmoInput DefaultExecution order changed to -59 -* RTE: BaseGizmo public virtual Reset method -* RTE: Replaced ToolsPanel -* RTE: Replaced SettingsDialog -* RTE: Fixed Default Layout procedure -* RTE: Added RectTool text outline -* RTE: Added HierarchicalDataView -* RTE: Implemented HierarchicalDataViewModel common drag & drop handling -* RTE: Replaced ProjectView -* RTE: Fixed VirtualizingTreeView CanBeParent, CanReparent flags behaviour -* RTE: Added ability to disable foreground layer in Universal RP (If disabled, then the windows with the camera should not go to the floating mode). -* RTE: Added m_depthMaskOffset field to DepthMaskingBehaviour (presumably fixes window depth masking bug on MacOS?) -* RTE: Using the default UI shader from Unity 2020 #if UNITY_2019 (fixes incorrect transparency of the ui in windows placed above the scene) -* RTSL: GetUOAssembliesAndTypes moved to ReflectionUtils.cs -* RTSL: UnityWeld excluded from assemblies array in CodeGen.GetUOAssembliesAndTypes and EditorsMapWindow.GetUOAssembliesAndTypes -* RTE: Replaced SelectObjectDialog -* RTE: Replaced SelectColorDialog -* RTE: Added IWindowManager.CreateDialogWindow overload without preferredWidth, preferredHeight parameters -* RTE: Replaced ManageProjectsDialog -* RTSL: ProjectInfo .Name, .LastWriteTime fields replaced with properties -* RTE: canResize = true param added to IWindowManager.Dialog methods -* RTE: canResize = true param added to Workspace.Dialog methods -* RTE: Replaced SaveSceneDialog -* RTE: Added DialogBinding -* RTE: OneWayPropertyBindingSlim and TwoWayPropertyBindingSlim added to ControlBinding -* RTSL: ProjectItem .Name, .Ext, .Children, .Parent fields replaced with properties -* RTE: Added missing functionality to write gameobject name changes to undo stack. -* RTE: Activated, Deactivated events added to RuntimeWindow -* RTE: AddComponentControl moved from InspectorView to GameObjectEditor -* RTE: Replaced InspectorView -* RTE: Ability to override Inspector selection. -* RTH: Added BoundingSphereRadius property to RuntimeSceneComponent -* RTE: Added RuntimeGameWindow -* RTE: Replaced SceneView -* RTE: Replaced ConsoleView -* RTE: Replaced HierarchyView -* RTSL: Added .Load_Async method with correct Task return type. -* RTSL: IProjectAsync .DeleteFolderAsync, .DeleteAsync don't throw an exception if ProjectItem doesn't exist -* RTE: View, ViewBinding added -* UI: Added PrefabIndex to MenuItemInfo -* UI: Replaced Menu m_menuItemPrefab with m_menuItemPrefabs -* RTE: Fixed Strong and EditorsMap classes (Universal Windows Platform) -* UI: Added VirtualizingTreeViewBinding .ItemClick, .ItemHold, .ItemDoubleClick, .ItemExpanded, .ItemCollapsed, .ItemDragEnter, .ItemDragExit events -* UI: Added VirtualizingTreeViewBinding .Target property -* UI: VirtualizingItemsControl .ItemClick event no longer occurs after ItemDoubleClick operation. -* UI: VirtualizingItemsControl .ItemClick event no longer occurs during a drag-and-drop operation. -* UI: Added VirtualizingTreeViewBinding DragItems, DropTargets -* UI: Added VirtualizingTreeViewBinding Drag&Drop Unity Events -* UI: Added ControlBinding, EventBindingSlim -* RTE: Added Project LockAsync WebGL implementation -* UI: VirtualizingListBox binding added -* UI: VirtualizingListBox added -* UI: VirtualizingScroller continuous mode added -* RTC: Added .Name property to ExposeToEditor. -* RTE: Added BuiltInWindows component added to Runtime Editor prefab. -* RTE: Added WindowManager.m_useLegacyBuiltInWindows = false. -* RTE: Added View prefabs, ViewModels and ViewModelTests. -* RTE: Existing view and dialog prefabs moved to Battlehub\RTEditor\Content\Runtime\RTEditor\Prefabs\Legacy. -* RTE: Existing views and dialogs moved to Battlehub\RTEditor\Runtime\RTEditor\Legacy. -* UI: MenuItem quick fix for InputSystem and mouse support -* RTE: InputSystem 1.0.1 package added -* RTE: WindowManager will call Editor.ActivateWindow only if ActiveWorkspace.ActivateWindow returns true; -* RTE: Workspace .ActivateWindow method fixed. Allow to activate window only in case if m_isTabDragInProgress == false; -* UI: Region .Insert method fixed. Turn on the new tab *first* or else Unity's UI.Toggle.Set() won't let us turn off the tab that was previously active. -* UI: Tab m_toggle.interactable = false; this will prevent the Toggle event from firing twice. -* RTE: Added HierarchyViewModel, HierarchyView prefab -* RTE: Deprecated prefabs from RTEditor\Content\Runtime\Prefabs\View and Dialog folders -* RTE: Deprecated AboutDialog, AssetLibraryImportDialog, AssetLibrarySelectDialog, ImportFileDialog, InputDialog, OpenFileDialog, ProjectsDialog, SaveAssetsDialog, SelectColorDialog, SelectObjectDialog, SettingsDialog -* RTE: Deprecated ProjectFolderView, ProjectFolderViewImpl, ProjectItemView, ProjectTreeViewImpl, ProjectView, ProjectViewImpl -* RTE: Deprecated SceneView, SceneViewImpl, GameView, HierarchyView, HierarchyViewImpl, InspectorView, ConsoleView, ToolsPanel -* RTE: Scene cursor cannot be changed when popup is displayed. -* RTE: Removed DragField from RangeEditor and RangeIntEditor prefabs. -* RTE: URP, HDRP UIForeground transparency fix for unity 2019. -* UI: Added IHierarchicalData interface. -* UI: Added INotifyHierarchicalDataChanged interface. -* UI: Added VirtualizingTreeViewBinding editor. -* UI: VirtualizingTreeViewBinding added. -* RTE: Added UnityWeld.dll. - -####RTE 2.25 - Sept 30, 2020 - -* Project structure: [reorganized to support unity package manager](https://docs.unity3d.com/Manual/cus-layout.html) - -* Inspector: ability to select and edit multiple game objects and components. -* Inspector: layers editor. -* Inspector: layer mask editor. -* Inspector: culling mask added to camera component editor. -* Inspector: add component button keyboard navigation. -* Inspector: ability to configure visibility of buttons. -* Inspector: support for components with RequireComponent attribute. - -* Hierarchy: search field added. -* Hierarchy: ability to override HierarchyView. -* Project: search field added. -* Project: ability to duplicate folders. -* Project: ability to override ProjectFolderView. -* Project: ability to override ProjectTreeView. -* Scene: ability to focus all active in hierarchy game objects with renderers. -* Scene: select objects on mouse button up. -* Scene: ability to select objects without collider. -* Scene: new box selection mode - pixel perfect depth test. -* Scene: auto save layout. -* DockPanel: Region.ClassAllTabs method added. -* DockPanel: variable tab size support. -* DockPanel: LayoutInfo must be created using IWindowManager.CreateLayoutInfo method. -* Theming: ability to set and update theme at runtime. -* Settings: dialog added. - - -* ProBuilder: uv unwrapping window. -* ProBuilder: uv stitch tool. -* ProBuilder: smooth groups editor. - -* Graphics: HD Render Pipeline Support (Beta). -* Graphics: Universal Render Pipeline Support. -* Graphics: [GL](https://docs.unity3d.com/ScriptReference/GL.html) is not used anymore and replaced with [CommandBuffer](https://docs.unity3d.com/ScriptReference/Rendering.CommandBuffer.html). - -* RTSL: k__BackingField and delegates are not visible in Persistent Classes Window anymore. -* RTSL: separate RuntimeTypeModel.dll for each build target. -* RTSL: generating link.xml to support IL2CPP scripting backend. -* RTSL: mesh, texture, audio data imported from asset bundle is not saved on disk anymore. -* RTSL: save & load time and memory consumption reduced. -* RTSL: preventing the Editor from crashing when entering play mode with selected asset library. -* RTSL: support for different types of identifiers. -* RTSL: Autogenerated TypeMap.cs replace with TypeMapCreator -* RTSL: [CustomImplementation] class structure changed -* RTSL: IProject.ToID replaced with IProject.ToPersistentID method. -* RTSL: IProject.FromID replaced with IProject.FromPersistentID method. -* RTSL: IStorage interface replaced with IStrorage<> with PersistentObject<> params - -####RTE 2.11 - Jan 30, 2020 -* Terrain details & trees editor - -####RTE 2.10 - Dec 30, 2019 -* Terrain editor. -* ProBuilder integration. -* Animation editor. -* Runtime scripting. -* Localization. -* Transform Handles: Rect Tool. - -####RTE 2.05 - April 30, 2019 -* Ability to change RTE UI Colors. -* UI.Text replaced with TextMeshProUGUI; -* File importers -> obj, png, jpg; -* VTV.SelectedIndex is set to -1 when Selected Item is null; -* Creating Primitives with Default-Material; -* ProjectItem.Get method fixed; -* Loading last project by default; -* Create project folder if there was no project before. -* Create camera and directional light by default. -* Dynamic resouces cleanup procedure fixed; -* Project Folder Drag & Drop bug fixed. - -####RTE 2.04 - March 30, 2019 -* Rendering scene view and game view using RenderTexture and RawImage; -* LWRP support; -* Transform Handles: position handle freeze bug fixed. -* Transform Handles: correct model scale. -* Duplicate scene bug fixed. -* "Open" context menu item added. -* RuntimeWindow CanActivate property added. -* Ability to create tab groups. -* IOC container unloading bug fixed. - -####RTE 2.03 - February 13, 2019 -* Configurable layout. -* Configurable tools panel. -* Configurable ui scale. -* Editor mappings are stored in RTEditor_Data folder and will not be overriden anymore. -* RTSL: TypeModel.dll correct import settings. -* RTSL: close progress bar in case of exception. -* Trasnform Handles: nullref exception fixed. - -#### RTE 2.02 - January 30, 2019 -* RTSL: codegen & persistent class storage fixed. -* RTSL: camera.pixelRect saved by default. -* RTSL: demo scene update. -* Transform Handles: demo scene update. - -#### RTE 2.01 - January 13, 2019 -* Set default layout nullref exception fixed. -* Transform Handles: prefabs added; -* Transform Handles: demo scene; - -####RTE 2.00 - Dec 30, 2018 -* Runtime save-load subsystem. -* Ability create/manage projects. -* Project API. -* Assets & Asset bundles importer. -* Configurable layout (dock panels). -* Configurable main & context menu. -* New dialog windows and message boxes. -* Multiple viewports supported. -* Runtime handles touch support. -* Simple depency injection (IOC). -* Undo & Redo API. -* Object selection API. -* Object life-cycle events. -* Add components control. -* Console window. -* Lists and Hierarchies virtualization. - -##About -Hi, I am [Vadym](https://www.facebook.com/vadim.andriyanov). I put a lot of effort into creating the Runtime Editor, but it was an interesting and rewarding experience. The first version of Runtime editor was released in June 2016 and was pretty simplistic. The current version is much more sophisticated but at the same time much more flexible and contains many useful features. -If you have any questions or suggestions send them by email to [Battlehub@outlook.com](mailto:Battlehub@outlook.com) or join this [support group](https://t.me/battlehub). I hope you enjoy using the Runtime Editor and it will be useful. \ No newline at end of file diff --git a/Docs/manual/gizmos.md b/Docs/manual/gizmos.md deleted file mode 100644 index f0f7b35..0000000 --- a/Docs/manual/gizmos.md +++ /dev/null @@ -1,151 +0,0 @@ -#Gizmos Docs -##Overview - -__Runtime Gizmos__ are the runtime 3D controls that are used to manipulate items in the scene. Unlike [transform handles](transform-handles.md), -gizmos does not modify the transformation of objects. Instead, they are used to modify colliders, bounding boxes and properties of light and audio sources. All gizmos, their base classes, -rendering classes and shaders can be found in __/Battlehub/RTEditor/Runtime/RTGizmos__ and __/Battlehub/RTEditor/Content/Runtime/RTGizmos__ folders. - -> [!NOTE] -> In this section, Runtime Gizmos is simply called "gizmos". - -##Getting Started - - Here are several simple steps to get started with gizmos: - - 1. Create a Cube using __Create->3D Object->Cube__ - 2. Select Cube. - 3. Add Assets __BoxColliderGizmo__ component. - 4. Hit Play. - 5. Use mouse left-click + drag to resize Box Collider Gizmo. - 6. Note that `Center` and `Size` properties of Box Collider have been changed. - - ![Screenshot](~/resources/img/gizmos/getting-started/getting-started.png) - -##Base Gizmo -Source code of Base Gizmo can be found in Battlehub/RTEditor/Runtime/RTGizmos/__BaseGizmo.cs__. This is the base class of [Box Gizmo](#box-gizmo), [Sphere Gizmo](#sphere-gizmo), [Capsule Gizmo](#capsule-gizmo) and -[Cone Gizmo](#cone-gizmo). Therefore all these gizmos have following settings: - - * `Grid Size` – step size used in unit snapping mode (default: 1.0). - * `Line Color` – color of line. - * `Handles Color` – color of handle (small quad). - * `Selection Color` – color of selected handle. - * `Enable Undo` – if set to true then gizmo will write all changes to undo stack (default: true). - * `Unit Snap Key` – key switching gizmo to unit snapping mode. - * `Target` – target object reference; - -##Box Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__BoxGizmo.cs__. -Base class for all gizmos that have box shape: - - * [Box Collider Gizmo](#box-collider-gizmo) - * [Skinned Mesh Renderer Gizmo](#skinned-mesh-renderer-gizmo) - -##Sphere Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__SphereGizmo.cs__. -Base class for all gizmos that have sphere shape: - - * [Sphere Collider Gizmo](#sphere-collider-gizmo) - * [Pointlight Gizmo](#point-light-gizmo) - * [Audio Source Gizmo](#audio-source-gizmo) - * [Audio Reverb Zone Gizmo](#audio-reverb-zone-gizmo) - -##Capsule Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__CapsuleGizmo.cs__. -Base class for all gizmos that have capsule shape: - - * [Capsule Collider Gizmo](#capsule-collider-gizmo) - -##Cone Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__ConeGizmo.cs__. -Base class for all gizmos that have cone shape: - - * [Spotlight Gizmo](#spot-light-gizmo) - -##Box Collider Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__BoxColliderGizmo.cs__. -Box Collider Gizmo can be added to object with Box Collider: - - 1. Create Game Object with Box Collider. - 2. Add Box Collider Gizmo component. - - ![Screenshot](~/resources/img/gizmos/box-collider-gizmo.png) - -##Sphere Collider Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__SphereColliderGizmo.cs__. -Sphere Collider Gizmo can be added to object with Sphere Collider: - - 1. Create Game Object with Sphere Collider. - 2. Add Sphere Collider Gizmo component. - - ![Screenshot](~/resources/img/gizmos/sphere-collider-gizmo.png) - -##Capsule Collider Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__CapsuleColliderGizmo.cs__. -Capsule Collider Gizmo can be added to object with Capsule Collider: - - 1. Create Game Object with Capsule Collider. - 2. Add Capsule Collider Gizmo component. - - ![Screenshot](~/resources/img/gizmos/capsule-collider-gizmo.png) - -##Point Light Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__PointLightGizmo.cs__. -Point Light Gizmo can be added to Point Light: - - 1. Create Point Light. - 2. Add LightGizmo component. - - ![Screenshot](~/resources/img/gizmos/point-light-gizmo.png) - -##Spot Light Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__SpotLightGizmo.cs__. -Spot Light Gizmo can be added to Spot Light: - - 1. Create Spot Light. - 2. Add LightGizmo component. - - ![Screenshot](~/resources/img/gizmos/spot-light-gizmo.png) - -##Directional Light Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__DirectionalLightGizmo.cs__. -Directional Light Gizmo can be added to Directional Light - - 1. Create Directional Light. - 2. Add Light Gizmo component. - - ![Screenshot](~/resources/img/gizmos/directional-light-gizmo.png) - -##Audio Source Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__AudioSourceGizmo.cs__. -Audio Source Gizmo can be added to Audio Source - - 1. Create Audio Source. - 2. Add Audio Source Gizmo component. - - ![Screenshot](~/resources/img/gizmos/audio-source-gizmo.png) - -##Audio Reverb Zone Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__AudioReverbZoneGizmo.cs__. -Same as [AudioSouce Gizmo](#audio-source-gizmo) - -##Skinned Mesh Renderer Gizmo - -Located in Battlehub/RTEditor/Runtime/RTGizmos/__SkinnedMeshRendererGizmo.cs__. -Skinned Mesh Renderer Gizmo can be added to object with SkinnedMesh - - 1. Create GameObject with SkinnedMeshRenderer. - 2. Add Skinned Mesh Renderer Gizmo component. - - ![Screenshot](~/resources/img/gizmos/skinned-mesh-renderer-gizmo.png) diff --git a/Docs/manual/hdrp-support.md b/Docs/manual/hdrp-support.md deleted file mode 100644 index 843eaee..0000000 --- a/Docs/manual/hdrp-support.md +++ /dev/null @@ -1,31 +0,0 @@ -#HD Render Pipeline Support Docs -##Overview - -The Runtime Editor supports different versions of [HD Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.1/manual/index.html). - -##Getting Started - -1. Unpack Assets/Battlehub/__6 HDRP Support [Your version].unitypackage__. -![Screenshot](~/resources/img/hdrp-support/getting-started-1.png) - -2. Click Tools->Runtime Editor->Use built-in HD RenderPipelineAsset. -![Screenshot](~/resources/img/hdrp-support/getting-started-2.png) - -3. Switch Color Space from __Gamma__ to __Linear__. -![Screenshot](~/resources/img/hdrp-support/getting-started-5.png) - -4. Create Runtime Editor using __Tools->Runtime Editor->Create RTEditor__
(Optionally __Tools->Runtime Editor->Create RTExtensions__) -5. Add HDRP support using __Tools->Runtime Editor->Add HDRP support for RTEditor__
(Optionally __Tools->Runtime Editor->Add HDRP support for RTExtensions__) -![Screenshot](~/resources/img/hdrp-support/getting-started-4.png) -6. Hit Play - -> [!NOTE] -> Complete demo scene can be found in __Assets/Battlehub/RTEditorHDRP/Demo__ -> -> Be sure to unpack Assets/Battlehub/2 RTEditor Demo - -> [!NOTE] -> For [__Transform Handles__](transform-handles.md) use Tools->Runtime Handles submenu -> -> ![Screenshot](~/resources/img/hdrp-support/rthandles-hdrp-support.png) - diff --git a/Docs/manual/infrastructure.md b/Docs/manual/infrastructure.md deleted file mode 100644 index f43de6c..0000000 --- a/Docs/manual/infrastructure.md +++ /dev/null @@ -1,758 +0,0 @@ -#Common Infrastructure Docs -##Overview - -Common infrastructure classes and interfaces form core api of runtime editor. Among other there are [selection](#runtime-selection), [object lifecycle](#runtime-objects), -[tools](#runtime-tools), [undo-redo](#runtime-undo) and [drag&drop](#drag-and-drop) API's. - -##Expose To Editor - -Add /Battlehub/RTEditor/Runtime/RTCommon/__ExposeToEditor__ component to any Game Object you want to make available for selection and editing. - -![Screenshot](~/resources/img/infrastructure/expose-to-editor/expose-to-editor.png) - -UnityEvents: - - * `Selected Event` raised when object added to [Runtime Selection](#runtime-selection). - * `Unselected Event` raised when object removed from [Runtime Selection](#runtime-selection). - -Fields & Properties: - - * `AddColliders` – add colliders to enable selection? (default: true). - * `Bounds Object` – reference to the GameObject which will be used to calculate bounds. - * `Custom Bounds` – used if BoundsType == Custom. - * `Bounds Type`: - * _Mesh_ – MeshFilter.mesh.bounds will be used to calculate bounds. - * _SkinnedMesh_ – SkinnedMeshRenderer.mesh.bounds to calculate bounds. - * _Sprite_ - SpriteRenderer.sprite.bounds will be used to calculate bounds. - * _RectTransform_ CalculateRelativeRectTransformBounds method will be used to calculate bounds. - * _Custom_ – user defined bounds. - * _Any_ – any of the above. - -##Event methods - -Event methods are called for all scripts of game objects with the [Expose To Editor](#expose-to-editor) component attached. - -> [!NOTE] -> RuntimeAwake, RuntimeStart, OnRuntimeDestroy, OnRuntimeActivate, OnRuntimeDeactivate are called in play mode only. -> See `IsPlaying` property of [IRTE interface](#irte-interface) - - -```C# -using UnityEngine; - -public class ScriptEventsExample : MonoBehaviour -{ - private void OnRuntimeEditorOpened() - { - Debug.Log("Editor Opened"); - } - - private void OnRuntimeEditorClosed() - { - Debug.Log("Editor Closed"); - } - - private void RuntimeAwake() - { - Debug.Log("Awake in play mode"); - } - - private void RuntimeStart() - { - Debug.Log("Start in play mode"); - } - - private void OnRuntimeDestroy() - { - Debug.Log("Destroy in play mode"); - } - - private void OnRuntimeActivate() - { - Debug.Log("Game View activated"); - } - - private void OnRuntimeDeactivate() - { - Debug.Log("Game View deactivated"); - } -} -``` - -##IOC - -/Battlehub/RTEditor/Runtime/RTCommon/__IOC__ is a simple IoC container implementation. - -Methods: - - * `static T Resolve()` - resolve dependency of type 'T' - * `static void Register(Func func)` - register construction function. - * `static void Register(T instance)` - register instance. - * `static void Unregister(Func func)` - unregister construction function. - * `static void Register(T instance)` - unregister instance. - -Example 1: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -public interface IDependency { } - -public class Dependency : MonoBehaviour, IDependency -{ - void Awake() - { - IOC.Register(this); - } - - void OnDestroy() - { - IOC.Unregister(this); - } -} - -public class User : MonoBehaviour -{ - void Start() - { - IDependency dependency = IOC.Resolve(); - } -} - -``` - -Example 2: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -[DefaultExecutionOrder(-1)] -public class Registrar : MonoBehaviour -{ - void Awake() - { - IOC.Register(() => - { - GameObject go = new GameObject(); - return go.AddComponent(); - }); - } - - private void OnDestroy() - { - IOC.Unregister(); - } -} - -public interface IDependency { } -public class Dependency : MonoBehaviour, IDependency -{ -} - -public class User : MonoBehaviour -{ - void Awake() - { - IDependency dependency = IOC.Resolve(); - } -} - -``` - -##IRTE interface - -Core editor functions and APIs are accessible through IRTE interface. This interface defined in /Battlehub/RTEditor/Runtime/RTCommon/__RTEBase.cs__ - -Properties: - - * `CameraLayerSettings CameraLayerSettings { get; }` - layers used by [RTE](rendering.md#graphics-layer-camera). - * `IInput Input { get; }` - low level [input](#input). - * `IRuntimeSelection Selection { get; }` - [selection](#runtime-selection) functionality. - * `IRuntimeUndo Undo { get; }` - [undo redo](#runtime-undo) functionality. - * `RuntimeTools Tools { get; }` - [tools](#runtime-tools) functionality. - * `CursorHelper CursorHelper { get; }` - cursor helper. - * `IRuntimeObjects Object { get; }` - [object](#runtime-objects) lifecycle events. - * `IDragDrop DragDrop { get; }` - [drag and drop](#drag-and-drop) functions. - * `bool IsOpened { get; set; }` - is editor opened? - * `bool IsBusy { get; set; }` - is editor busy? blocks user input. - * `bool IsPlaymodeStateChanging { get; }` - is editor either in play mode, or about to switch to it? - * `bool IsPlaying { get; set; }` - is editor currently in play mode? - * `bool IsApplicationPaused { get; }` - is application paused? - * `Transform Root { get; }` - editor root transform. - * `RuntimeWindow ActiveWindow { get; }` - currently active [window](#runtime-window). - * `RuntimeWindow[] Windows { get; }` - all registered windows. - -Methods: - - * `void ActivateWindow(RuntimeWindow window);` - active window and associated [RTE Components](#rte-component) will receive user input. - - * `void RegisterCreatedObjects(GameObject[] go);` - register created game objects to undo stack. - * `void Duplicate(GameObject[] go);` - duplicate objects and register created duplicates to undo stack. - * `void Delete(GameObject[] go);` - delete game objects and register this operation to undo stack. - -Events: - - * `RTEEvent PlaymodeStateChanging` - raised before play mode change. - * `RTEEvent PlaymodeStateChanged` - raised when play mode state changed. - * `RTEEvent ActiveWindowChanged` - raised when window activated. - * `RTEEvent WindowRegistered` - raised when window registered. - * `RTEEvent WindowUnregistered` - raised when window unregistered. - * `RTEEvent IsOpenedChanged` - raised when IsOpened property changed. - -Here is how to get reference to __IRTE__: -``` C# - using UnityEngine; - using Battlehub.RTCommon; - - public class GetIRTE : MonoBehaviour - { - void Awake() - { - IRTE editor = IOC.Resolve(); - } - } - -``` - -Open example: -``` C# - using UnityEngine; - using Battlehub.RTCommon; - - public class OpenExample : MonoBehaviour - { - void Start() - { - IRTE rte = IOC.Resolve(); - rte.IsOpened = true; - } - } - -``` - -Play example: -``` C# - using UnityEngine; - using Battlehub.RTCommon; - - public class PlayExample : MonoBehaviour - { - void Start() - { - IRTE rte = IOC.Resolve(); - rte.IsPlaying = true; - } - } - -``` - -Lock user input example: - -``` C# - using UnityEngine; - using System.Collections; - using Battlehub.RTCommon; - - public class BlockUserInput : MonoBehaviour - { - IRTE m_rte; - - void Start() - { - m_rte = IOC.Resolve(); - StartCoroutine(DummyOperation()); - } - - IEnumerator DummyOperation() - { - yield return new WaitWhile(() => m_rte.IsBusy); - - m_rte.IsBusy = true; - Debug.Log("User input locked"); - - yield return new WaitForSeconds(5); - - m_rte.IsBusy = false; - Debug.Log("User input unlocked"); - } - } - -``` - -##Input - -[Runtime editor](runtime-editor.md), [transform handles](transform-handles.md) and [gizmos](gizmos.md) are using IInput interface to access user input. -Here is how to get reference to IInput: -``` C# - using UnityEngine; - using Battlehub.RTCommon; - - public class GetIRTE : MonoBehaviour - { - void Awake() - { - IInput input = IOC.Resolve().Input; - } - } - -``` - -IInput has following methods: - - * `bool IsAnyKeyDown()` - * `float GetAxis(InputAxis axisType)` - * `bool GetKeyDown(KeyCode key)` - * `bool GetKeyUp(KeyCode key)` - * `bool GetKey(KeyCode key)` - * `Vector3 GetPointerXY(int pointer)` - * `bool GetPointerDown(int button)` - * `bool GetPointerUp(int button)` - * `bool GetPointer(int button)` - - -##RTE Component - -/Battlehub/RTEditor/Runtime/RTCommon/__RTEComponent__ is the base class for all [transform handles](transform-handles.md) and [gizmos](gizmos.md). -It hold reference to [runtime window](#runtime-window) and check if this window is in active state. - -##Runtime Selection -__IRuntimeSelection__ interface defined in Assets/Battlehub/RTCommon/Scripts/__RuntimeSelection.cs__. Here is how subscribe to `SelectionChanged` event and select object: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -public class SelectObjectBehaviour : MonoBehaviour -{ - IRuntimeSelection m_selection; - - void Start() - { - m_selection = IOC.Resolve().Selection; - m_selection.SelectionChanged += OnSelectionChanged; - - GameObject go = GameObject.CreatePrimitive(PrimitiveType.Capsule); - go.AddComponent(); - - m_selection.activeObject = go; - } - - void OnDestroy() - { - if (m_selection != null) - { - m_selection.SelectionChanged -= OnSelectionChanged; - } - } - - void OnSelectionChanged(Object[] unselectedObjects) - { - if (unselectedObjects != null) - { - for (int i = 0; i < unselectedObjects.Length; ++i) - { - Object unselected = unselectedObjects[i]; - Debug.Log(unselected); - } - } - - if (m_selection.objects != null) - { - for (int i = 0; i < m_selection.objects.Length; ++i) - { - Object selected = m_selection.objects[i]; - Debug.Log(selected); - } - } - } -} - -``` - -##Runtime Objects -__IRuntimeObjects__ interface defined in /Battlehub/RTEditor/Runtime/RTCommon/__RuntimeObjects.cs__. It can be used to track lifecycle events of objects exposed to editor. - -Methods: - - * `IEnumerable Get(bool rootsOnly, bool useCache = true)` - call this method to get exposed to editor objects. If `rootsOnly` parameter set to _false_ it return all objects, otherwise it return objects without parent. - If `useCache` parameter set to _false_, then full traversal of object tree will be used. - -Events: - - * `event ObjectEvent Awaked` - see corresponding [MonoBehaviour event](https://docs.unity3d.com/Manual/ExecutionOrder.html). - * `event ObjectEvent Started` - see corresponding [MonoBehaviour event](https://docs.unity3d.com/Manual/ExecutionOrder.html). - * `event ObjectEvent Enabled` - see corresponding[MonoBehaviour event](https://docs.unity3d.com/Manual/ExecutionOrder.html). - * `event ObjectEvent Disabled` - see corresponding [MonoBehaviour event](https://docs.unity3d.com/Manual/ExecutionOrder.html). - * `event ObjectEvent Destroyed` - see corresponding [MonoBehaviour event](https://docs.unity3d.com/Manual/ExecutionOrder.html). - * `event ObjectEvent Destroying` - raised just before `Destroyed` event. - * `event ObjectEvent MarkAsDestroyedChanged` - raised when object marked as destroyed by [undo&redo](#runtime-undo) - * `event ObjectEvent MarkAsDestroyedChanging` - raised just before `MarkAsDestroyedChanged` event. - * `event ObjectEvent TransformChanged` - position, rotation or localScale changed. - * `event ObjectParentChangedEvent ParentChanged` - transform.parent changed. - * `event ObjectEvent NameChanged` - object name changed. - * `event ObjectEvent ComponentAdded` - raised when new component added. - - - - -Example: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -public class ListenAwakeEvent : MonoBehaviour -{ - IRuntimeObjects m_object; - - void Start() - { - m_object = IOC.Resolve().Object; - m_object.Awaked += OnObjectAwaked; - - GameObject go = new GameObject(); - go.AddComponent(); - } - - void OnDestroy() - { - if(m_object != null) - { - m_object.Awaked -= OnObjectAwaked; - } - } - - void OnObjectAwaked(ExposeToEditor obj) - { - Debug.Log(obj); - } -} - -``` - -##Runtime Tools - -__RuntimeTools__ class can be found in /Battlehub/RTEditor/Runtime/RTCommon/__RuntimeObjects.cs__. - -Properties: - - * `LockObject LockAxes` - this object hold aggregated [locking state](transform-handles.md#locking-axes) of selected objects. - * `UnityObject ActiveTool` - reference to active transform handle or gizmo. Active means that user is currently interacting with it. - * `RuntimeTool Current` - The tool that is currently selected for the Scene View: - * _None_ - * _Move_ - * _Rotate_ - * _Scale_ - * _View_ - * _Rect_ - * _Custom_ -   - * `RuntimePivotMode PivotMode` - Are we in _Center_ or _Pivot_ mode. - * `RuntimePivotRotation PivotRotation` - What's the rotation of the tool handle: - * _Global_ - * _Local_ -   - - -If property change, corresponding event is raised: - - * `event RuntimeToolsEvent ToolChanged` - * `event RuntimeToolsEvent PivotRotationChanged` - * `event RuntimeToolsEvent PivotModeChanged` - * `event RuntimeToolsEvent LockAxesChanged` - -Here is how to change current tool: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -public class SwitchToolBehaviour : MonoBehaviour -{ - void Start() - { - IRTE editor = IOC.Resolve(); - editor.Tools.Current = RuntimeTool.Rotate; - } -} - -``` - -Here is how to [lock axes](transform-handles.md#locking-axes) for all selected objects: - -``` C# -using UnityEngine; -using Battlehub.RTCommon; - -public class LockAxesForAllObjects : MonoBehaviour -{ - IRTE m_editor; - void Start() - { - m_editor = IOC.Resolve(); - m_editor.Selection.SelectionChanged += OnSelectionChanged; - m_editor.Tools.ToolChanged += OnToolChanged; - } - - void OnDestroy() - { - if(m_editor != null) - { - m_editor.Selection.SelectionChanged -= OnSelectionChanged; - m_editor.Tools.ToolChanged -= OnToolChanged; - } - } - - void OnToolChanged() - { - Lock(); - } - - void OnSelectionChanged(Object[] unselectedObjects) - { - Lock(); - } - - static void Lock() - { - IRTE editor = IOC.Resolve(); - editor.Tools.LockAxes = new LockObject - { - PositionY = true, - RotationX = true, - RotationZ = true - }; - } -} - -``` - -##Runtime Undo - -__IRuntimeUndo__ interface defined in /Battlehub/RTEditor/Runtime/RTCommon/__RuntimeUndo.cs__. It is used to record changes, maintain undo/redo stack and perform -undo and redo operations. - -Properties: - - * `bool Enabled { get; set; }` - is undo & redo enabled? - * `bool CanUndo { get; }` - can undo? - * `bool CanRedo { get; }` - can redo? - * `bool IsRecording { get; }` - are we recording multiple changes? - -Methods: - - * `void BeginRecord()` - begin record multiple changes. - * `void EndRecord()` - end record multiple changes. - * `Record CreateRecord(UndoRedoCallback redoCallback, UndoRedoCallback undoCallback, PurgeCallback purgeCallback = null, EraseReferenceCallback eraseCallback = null)` - \- generic create record method. - - * `void RegisterCreatedObjects(ExposeToEditor[] createdObjects)` - register created objects. - * `void DestroyObjects(ExposeToEditor[] destoryedObjects)` - register destroy objects operation. - * `void BeginRecordValue(object target, MemberInfo memberInfo)` - begin record value. - * `void EndRecordValue(object target, MemberInfo memberInfo)` - end record value. - * `void BeginRecordTransform(Transform target)` - begin record transform. - * `void EndRecordTransform(Transform target)` - end record transform. - * `void AddComponent(ExposeToEditor obj, Type type)` - \- add component and push corresponding record to the stack. - * `void DestroyComponent(Component destroy, MemberInfo[] memberInfo)` - \- destroy component and push corresponding record to the stack. - - * `void Redo()` - redo. - * `void Undo()` - undo. - * `void Purge()` - purge all records. All “marked as destroyed” objects will be destroyed. - * `void Erase(object oldRef, object newRef)` - replace oldRef with newRef for all records in stack. - * `void Store()` - create new stack and store current undo&redo stack. - * `void Restore()` - restore previously stored stack. - -Events: - - * `event RuntimeUndoEventHandler BeforeUndo` - raised before undo operation. - * `event RuntimeUndoEventHandler UndoCompleted` - raised after undo operation. - * `event RuntimeUndoEventHandler BeforeRedo` - raised before redo operation. - * `event RuntimeUndoEventHandler RedoCompleted` - raised after redo operation. - * `event RuntimeUndoEventHandler StateChanged` - raised whenever one of the following operations performed: - * _Store_ - * _Restore_ - * _Purge_ - - -Here is how to record value and then undo changes: - -``` C# -using UnityEngine; -using System.Reflection; -using Battlehub.RTCommon; -using Battlehub.Utils; - -public class RecordValueThenUndoChanges : MonoBehaviour -{ - IRuntimeUndo m_undo; - - [SerializeField] - int m_value = 1; - - void Start() - { - m_undo = IOC.Resolve().Undo; - m_undo.UndoCompleted += OnUndoCompleted; - - MemberInfo valueInfo = Strong.MemberInfo((RecordValueThenUndoChanges x) => x.m_value); - - m_undo.BeginRecordValue(this, valueInfo); - m_value = 2; - m_undo.EndRecordValue(this, valueInfo); - - m_undo.Undo(); - } - - void OnDestroy() - { - if (m_undo != null) - { - m_undo.UndoCompleted -= OnUndoCompleted; - } - } - - void OnUndoCompleted() - { - Debug.Log(m_value); //1 - } -} -``` - -##Drag And Drop -__IDragDrop__ interface defined in /Battlehub/RTEditor/Runtime/RTCommon/__DragDrop.cs__. It is used as a common interface for all drag & drop operations. - -Properties: - - * `object[] DragObjects { get; }` - objects being dragged. - * `object Source { get; }` - drag & drop operation source object. - * `bool InProgress { get; }` - is drag and drop in progress? - -Methods: - - * `void Reset()` - cancel current drag & drop operation. - * `void SetCursor(KnownCursor cursorType)` - set cursor. - * _KnownCursor.DropNotAllowed_ - * _KnownCursor.DropAllowed_ - * `void RaiseBeginDrag(object source, object[] dragItems, PointerEventData pointerEventData)` - \- begin drag & drop. - * `void RaiseDrag(PointerEventData eventData)` - drag. - * `void RaiseDrop(PointerEventData pointerEventData)` - end drag & drop. - -Events: - - * `event DragDropEventHander BeginDrag` - raised by `RaiseBeginDrag` method. - * `event DragDropEventHander Drag` - raised by `RaiseDrag` method. - * `event DragDropEventHander Drop` - raised by `RaiseDrop` method. - - -In this example we will handle Drag Drop operation into console window: -``` C# -using Battlehub.RTCommon; -using UnityEngine; -using UnityEngine.EventSystems; - -public class ConsoleDragDropHandler : MonoBehaviour -{ - IDragDrop m_dragDrop; - RuntimeWindow m_target; - - void Start() - { - m_target = IOC.Resolve().GetWindow(RuntimeWindowType.Console); - m_dragDrop = IOC.Resolve().DragDrop; - m_dragDrop.Drop += OnDrop; - } - - void OnDestroy() - { - if(m_dragDrop != null) - { - m_dragDrop.Drop -= OnDrop; - } - } - - void OnDrop(PointerEventData pointerEventData) - { - if(m_target != null && m_target.IsPointerOver) - { - Debug.Log(m_dragDrop.DragObjects[0]); - } - } -} - -``` - -##Runtime Window - -__RuntimeWindow__ class can be found in /Battlehub/RTEditor/Runtime/RTCommon/__RuntimeWindow.cs__. If you want to extend [Runtime Editor](runtime-editor.md) with new windows, then they must be inherited from -Runtime Window class. Here is how to do it: - -``` C# - -using Battlehub.RTCommon; -using Battlehub.Utils; -using UnityEngine; -using UnityEngine.EventSystems; - -public class CustomWindow : RuntimeWindow -{ - protected override void AwakeOverride() - { - WindowType = RuntimeWindowType.Custom; - base.AwakeOverride(); - } - - protected override void OnDestroyOverride() - { - base.OnDestroyOverride(); - } - - protected override void OnActivated() - { - base.OnActivated(); - Debug.Log("On Custom Window Activated"); - } - - protected override void OnDeactivated() - { - base.OnDeactivated(); - Debug.Log("On Custom Window Deactivated"); - } - - public override void DragEnter(object[] dragObjects, PointerEventData eventData) - { - base.DragEnter(dragObjects, eventData); - Editor.DragDrop.SetCursor(KnownCursor.DropAllowed); - Debug.Log("On Drag Enter"); - } - - public override void DragLeave(PointerEventData eventData) - { - base.DragLeave(eventData); - Editor.DragDrop.SetCursor(KnownCursor.DropNotAllowed); - Debug.Log("On Drag Leave"); - } - - public override void Drop(object[] dragObjects, PointerEventData eventData) - { - base.Drop(dragObjects, eventData); - Debug.Log("On Drop"); - - for(int i = 0; i < dragObjects.Length; ++i) - { - Debug.Log(dragObjects[i]); - } - - } -} - -``` - -> [!NOTE] -> For information on how to register custom window please proceed to -> [this](runtime-editor.md#how-to-add-custom-window-to-window-manager) <- section - - diff --git a/Docs/manual/menu-control.md b/Docs/manual/menu-control.md deleted file mode 100644 index f75824a..0000000 --- a/Docs/manual/menu-control.md +++ /dev/null @@ -1,126 +0,0 @@ -#Menu Control Docs -##Overview -The [Menu control](#menu) allows hierarchal organization of elements associated with commands. It can be used to implement main and context menu of an application. - -![Screenshot](~/resources/img/menu/overview/menu.png) - -##Getting Started - -1. Create Canvas -2. Add __MenuButton.prefab__ from __/Battlehub/RTEditor/Content/Runtime/UIControls/Menu/
Prefabs__ to hierarchy. -3. Add __Menu.prefab__ from __/Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs__ to hierarchy -4. Set `Menu` field of the Menu Button: - - ![Screenshot](~/resources/img/menu/get-started/set-menu-field.png) -
- -5. Create Empty Game Object and name it __Command Handler__ -6. Create __MenuCmdHandler__ script and add it to the __Command Handler__: - - using UnityEngine; - using Battlehub.UIControls.MenuControl; - - public class MenuCmdHandler : MonoBehaviour - { - public void OnValidateCmd(MenuItemValidationArgs args) - { - Debug.Log("Validate Command: " + args.Command); - - if(args.Command == "Item Cmd") - { - args.IsValid = false; - } - } - - public void OnCmd(string cmd) - { - Debug.Log("Run Cmd: " + cmd); - } - } - - - -7. Set `Action` and `Validate` event handlers of each entry in `Items` array of the Menu: - - ![Screenshot](~/resources/img/menu/get-started/set-event-handlers.png) -
- -8. Hit Play, open the Menu and click _Child Item_. You should see following output: - - ![Screenshot](~/resources/img/menu/get-started/results.png) - -##Menu Item -Structure: - -![Screenshot](~/resources/img/menu/menu-item/structure.png) - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/__MenuItem.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/__MenuItem.cs__ - -Fields: - - * `Selection Color` - highlighted color. - * `Text Color` - text color. - * `Disabled Selection Color` - highlighted color of disabled menu item. - * `Disabled Text Color` - text color of disabled menu item. - * `Icon` - image. - * `Text` - text. - * `Expander` - image visible if menu item has sub-menu. - * `Selection` - image visible when pointer is over menu item. - -##Menu - -Structure: - -![Screenshot](~/resources/img/menu/menu/structure.png) - - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/__Menu.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/__Menu.cs__ - -Fields: - - * `Items` - array of Menu Item Info. - * `Menu Item Prefab` - reference to [menu item](#menu-item) prefab. - * `Anchor` - opened menu will be aligned with anchor. - * `Panel` - parent of menu items. - * `Canvas Group` - required to "fade-in" menu. - * `Fade in speed` - how much the alpha property changes per second. - - - -```C# -[Serializable] -public class MenuItemInfo -{ - public string Path; //path to menu item e.g. Create/3DObject/Cube - public string Text; //menu item text - public Sprite Icon; //menu item icon - - public string Command; //argument passed to Action event handler and Validate event handler - public MenuItemEvent Action; //raised when menu item clicked - public MenuItemValidationEvent Validate; //event raised when menu opened -} -``` - -##Main Menu Button - -This button can be used to open menu. It has three states: normal, pointer over and focused. The transition to the focused state occurs when the menu is opened. The transition to the normal state occurs when the menu is closed. - -Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/__MenuButton.prefab__ -Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/__MenuButton.cs__ - -##Context Menu Trigger - -This script opens the menu when you click the right mouse button. - -![Screenshot](~/resources/img/menu/context-menu-trigger/context-menu.png) - -Script: Assets/Battelhub/UIControls/Menu/Scripts/__СontextMenuTrigger.cs__ - -![Screenshot](~/resources/img/menu/context-menu-trigger/context-menu-trigger.png) - - - - - diff --git a/Docs/manual/rendering.md b/Docs/manual/rendering.md deleted file mode 100644 index 84e3da5..0000000 --- a/Docs/manual/rendering.md +++ /dev/null @@ -1,37 +0,0 @@ -#Rendering Notes -##IRTECamera - -All transform handles and gizmos use IRTECamera interface in order to be rendered. - -``` C# - -Camera camera = Window.Camera; -IRTEGraphics graphics = IOC.Resolve(); -if(graphics != null) -{ - IRTECamera rteCamera = graphics.GetOrCreateCamera(camera CameraEvent.AfterForwardAlpha); - - m_rteCamera.CommandBufferRefresh += OnCommandBufferRefresh; - m_rteCamera.RefreshCommandBuffer(); -} - -protected virtual void OnCommandBufferRefresh(IRTECamera camera) -{ - CommandBuffer cmd = camera.CommandBuffer; - - //drawing method calls -} - -``` - -##Graphics Layer Camera -This is camera created automatically to render gizmos and transform handles. -`Clear Flags` of this camera is set to the _Depth only_ and `Culling Mask` to __Nothing__. At the same time _RuntimeGraphicsLayers 0-3_ will be excluded -from `Culling Mask` of scene camera. - -![Screenshot](~/resources/img/rendering/runtime-graphics-layer.png) - -> [!NOTE] -> [Runtime Editor](runtime-editor.md) use 9 layers [16-24]: for ui, for asset previews and for runtime graphics. - -![Screenshot](~/resources/img/rendering/layers-used-by-runtime-editor.png) \ No newline at end of file diff --git a/Docs/manual/runtime-editor.md b/Docs/manual/runtime-editor.md deleted file mode 100644 index 984569e..0000000 --- a/Docs/manual/runtime-editor.md +++ /dev/null @@ -1,945 +0,0 @@ -#Runtime Editor Docs -##Overview -Runtime Editor is the set of scripts and prefabs which help you to create scene editor, game level editor or build your own modeling application. -It supports [drag & drop](infrastructure.md#drag-and-drop), [undo & redo](infrastructure.md#runtime-undo) and [selection](infrastructure.md#runtime-selection) api. -To implement user interface and core functions runtime editor use [transform-handles](transform-handles.md), [gizmos](gizmos.md), [save load subsystem](save-load.md) and three controls: [menu](menu-control.md), [virtualizing tree view](vtv.md) and [dock panels](dock-panels.md). -Out of the box it has seven Views: - - * __Scene View__ to manipulate objects in the scene. - * __Hierarchy View__ to display and manipulate object tree. - * __Project View__ to manage assets and scenes. - * [Inspector View](#inspector-view) to display and edit object properties. - * __Console View__ to display information, warnings and errors. - * __Game View__ main game camera output. - * __Animation View__ to create and edit the runtime animations. - * [Add More...](#how-to-add-custom-window-to-window-manager) - -The Runtime Editor has many ready-to-use property and component editors and it is relatively easy [to create new ones](#how-to-select-component-properties). __"Add Component"__ drop-down button allows you to add components at runtime. -There are also several important dialogs included: - - * __Save Scene Dialog__. - * __Object Picker__. - * __Color Picker__. - * __Asset Bundles and Libraries Importer__. - * __Manage Projects Dialog__. - -![Screenshot](~/resources/img/rteditor/overview/overview.png) - -##Getting Started - -To get started with Runtime Editor do following: - -1. Create new scene and __save__ it. -2. Click Tools->Runtime Editor->Create RTEditor - - ![Screenshot](~/resources/img/rteditor/get-started/create-runtime-editor.png) - -3. Click "Yes" when you see the dialog box asking you to add the Game View Camera script. - - ![Screenshot](~/resources/img/rteditor/get-started/game-view-camera.png) - -4. Create several Game Objects and add [__Expose To Editor__](infrastructure.md#expose-to-editor) component. - - ![Screenshot](~/resources/img/rteditor/get-started/expose-to-editor.png) - -5. Click [__Tools->Runtime SaveLoad->Config->Build All__](save-load.md) - - ![Screenshot](~/resources/img/rteditor/get-started/build-all.png) - -6. Hit Play - - ![Screenshot](~/resources/img/rteditor/get-started/runtime-editor.png) -

- -Examples: - -> [!NOTE] -> The materials in the sample scenes were converted to Universal Render Pipeline. -> -> Be sure to install the __Battlehub/1 UniversalRP Support [Version]__ package before opening the samples. -> -> See [__Universal Render Pipeline Support Docs__](urp-support.md) for details. - -1. Install __Battlehub/1 Universal RP Support [Your Version]__ package -2. Install __Battlehub/RTEditor Demo__ package -3. Click Tools->Runtime Editor->Use built-in RenderPipelineAsset, then click "Yes" - - ![Screenshot](~/resources/img/rteditor/get-started/use-buitin-rp-asset.png) - -4. Click Tools->Runtime Editor->Show me examples - - ![Screenshot](~/resources/img/rteditor/get-started/show-me-examples.png) - -5. Open RTEditor scene. - - ![Screenshot](~/resources/img/rteditor/get-started/rteditor-demo-scene.png) - -6. Delete __Battlehub/RTSL_Data__ folder. - - ![Screenshot](~/resources/img/rteditor/get-started/delete-rtsl-data.png) - -7. Click [__Tools->Runtime SaveLoad->Config->Build All__](save-load.md) - - ![Screenshot](~/resources/img/rteditor/get-started/build-all.png) - -8. Hit Play - -Few more steps: - -1. [Create Asset Library](save-load.md#how-to-create-asset-library) -2. Launch runtime editor and click __File->Import Assets__. - - ![Screenshot](~/resources/img/rteditor/get-started/file-import-assets.png) -

- -3. Select the built-in asset library created in step 1. - - ![Screenshot](~/resources/img/rteditor/get-started/select-asset-library.png) -

- -4. Import assets. - - ![Screenshot](~/resources/img/rteditor/get-started/import-assets.png) -

- -5. You will see the imported assets in the project window. - - ![Screenshot](~/resources/img/rteditor/get-started/after-import.png) -

- - -> [!NOTE] -> Demo scene can be found in __Assets/Battlehub/RTEditorDemo/Content/Runtime/RTEditor__ - - - -##Main & Context Menu - -Runtime Editor use [Menu control](menu-control.md) to implement main and context-menu. To extend main menu create static class with __[MenuDefinition]__ attribute and add static methods with __[MenuCommand]__ attribute. - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using Battlehub.UIControls.MenuControl; -using UnityEngine; - -[MenuDefinition] -public static class MyMenu -{ - /// add new command to exising menu - [MenuCommand("MenuWindow/Create My Window")] - public static void CreateMyWindow() - { - Debug.Log("Create My Window"); - } - - /// add new command to new menu - [MenuCommand("My Menu/My Submenu/My Command")] - public static void CreateMyMenu() - { - Debug.Log("Create My Menu"); - } - - /// disable menu item - [MenuCommand("My Menu/My Submenu/My Command", validate: true)] - public static bool ValidateMyCommand() - { - Debug.Log("Disable My Command"); - return false; - } - - /// replace existing menu item - [MenuCommand("MenuFile/Close")] - public static void Close() - { - Debug.Log("Intercepted"); - - IRuntimeEditor rte = IOC.Resolve(); - rte.Close(); - } - - /// Hide existing menu item - [MenuCommand("MenuHelp/About RTE", hide: true)] - public static void HideAbout() { } -} - -``` - -![Screenshot](~/resources/img/rteditor/menu/main-menu.png) - -To open context menu with custom commands do following: - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using Battlehub.UIControls.MenuControl; -using UnityEngine; - - -public static class MyContextMenu -{ - public static void OpenContextMenu() - { - IContextMenu contextMenu = IOC.Resolve(); - - MenuItemInfo cmd1 = new MenuItemInfo { Path = "My Command 1" }; - cmd1.Action = new MenuItemEvent(); - cmd1.Action.AddListener((args) => - { - Debug.Log("Run My Command1"); - - IRuntimeEditor editor = IOC.Resolve(); - Debug.Log(editor.Selection.activeGameObject); - }); - - MenuItemInfo cmd2 = new MenuItemInfo { Path = "My Command 2" }; - cmd2.Validate = new MenuItemValidationEvent(); - cmd2.Action = new MenuItemEvent(); - cmd2.Validate.AddListener((args) => - { - args.IsValid = false; - }); - - cmd2.Action.AddListener((args) => - { - Debug.Log("Run My Command2"); - }); - - contextMenu.Open(new[] - { - cmd1, cmd2 - }); - } -} - -``` - - -![Screenshot](~/resources/img/rteditor/menu/my-context-menu.png) - -Built-in context menu populated and opened from Assets/Battlehub/RTEditor/Runtime/RTEditor/ViewModels/__ProjectFolderViewModel.cs__ and __ProjectTreeViewModel.cs__ - -![Screenshot](~/resources/img/rteditor/menu/context-menu.png) - - -##RTEDeps - -The main purpose of the Assets/Battlehub/RTEditor/Runtime/RTEditor/__RTEDeps.cs__ class is to register various services into [IOC](infrastructure.md#ioc): - -* [IResourcePreviewUtility](#resource-preview-utility) - create preview for Game Object or asset. -* [IWindowManager](#window-manager) - manage build-in and custom windows. -* [IContextMenu](#main--context-menu) - create and show context menu. -* __IRuntimeConsole__ - log messages cache. -* [IRuntimeEditor](#iruntimeeditor) - the main interface of the RuntimeEditor. - -##IRuntimeEditor - -IRuntimeEditor inherits the [IRTE interface](infrastructure.md#irte-interface) and adds several important methods and events. - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using UnityEngine; - -public class GetRuntimeEditor : MonoBehaviour -{ - void Start() - { - IRuntimeEditor editor = IOC.Resolve(); - } -} - -``` -Events: - -* `event RTEEvent SceneLoading` - fired before loading the scene. -* `event RTEEvent SceneLoaded` - fired after loading the scene. -* `event RTEEvent SceneSaving` - fired before saving the scene. -* `event RTEEvent SceneSaved` - fired before saving the scene. - -Methods: - -* `void NewScene(bool confirm = true)` - create a new scene (show the confirmation dialog by default). -* `void SaveScene()` - save the current scene. If the scene is new, the save scene dialog will appear. - -* `void CreateWindow(string window)` - call corresponding method of [window manager](#window-manager). -* `void CreateOrActivateWindow(string window)` - this method creates a window only if it does not exist. - -* `ProjectAsyncOperation CreatePrefab(ProjectItem folder, ExposeToEditor obj, bool? includeDeps = null)` - create prefab with preview. -* `ProjectAsyncOperation SaveAssets(UnityObject[], Action)` - save assets. -* `ProjectAsyncOperation DeleteAssets(ProjectItem[] projectItems)` - delete assets. -* `ProjectAsyncOperation UpdatePreview(UnityObject obj)` - update asset preview. - -Example: - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using Battlehub.RTSL.Interface; -using System.Threading.Tasks; -using UnityEngine; - -public class IRuntimeEditorMethodsUsageExample : EditorExtension -{ - protected override async void OnInit() - { - base.OnInit(); - - //Get runtime editor - IRuntimeEditor editor = IOC.Resolve(); - IProjectAsync project = IOC.Resolve(); - while (!project.State.IsOpened) - { - await Task.Yield(); - } - - //Create Prefabs folder - ProjectItem[] folders = await project.CreateFoldersAsync(new[] { "Prefabs" }); - - //Create new object and hide it from hierarchy - GameObject go = GameObject.CreatePrimitive(PrimitiveType.Sphere); - go.hideFlags = HideFlags.HideAndDontSave; - go.SetActive(false); - - //Create prefab with preview and destroy source object - await editor.CreatePrefabAsync(folders[0], go.AddComponent(), true); - Destroy(go); - - //Load prefab - GameObject loadedGo = await project.Load_Async("Prefabs/Sphere"); - - //... Make changes - - //Update preview - await editor.UpdatePreviewAsync(loadedGo); - - //Save changes - await editor.SaveAssetsAsync(new[] { loadedGo }); - - //Get corresponding project item - ProjectItem projectItem = project.Utils.ToProjectItem(loadedGo); - - //Delete prefab and clear undo stack - await editor.DeleteAssetsAsync(new[] { projectItem }); - - //Delete folders - await project.DeleteAsync(folders); - } -} -``` - -##Window Manager - -Window Manager allows you to create complex windows, such as an inspector or scene, and simple dialogs, such as a message box or confirmation. -The difference between dialog and window is rather subtle. The content of the dialog can be anything, and it can not be docked. To be considered as a window or dialog window, a [Runtime Window](infrastructure.md#runtime-window) component must be attached to the game object. -When the runtime window is activated, the other windows are deactivated. The dialog cannot deactivate the window. - -> [!NOTE] -> Default windows and dialogs can be found in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/__Prefabs__ - -> [!NOTE] -> Window Manager use [dock panels](dock-panels.md) control. - -Get window manager: - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using UnityEngine; - -public class GetWindowManager : MonoBehaviour -{ - void Start() - { - IWindowManager wm = IOC.Resolve(); - } -} - -``` - -
-Show message box: -```C# -wm.MessageBox("Header", "Text", (sender, args) => -{ - Debug.Log("OK Click"); -}); -``` - -
-Show confirmation: -```C# -wm.Confirmation("Header", "Text", - (sender, args) => - { - Debug.Log("Yes click"); - }, - (sender, args) => - { - Debug.Log("No click"); - }, - "Yes", "No"); -``` - -
-Activate window: -```C# -wm.ActivateWindow(BuiltInWindowNames.Scene); -``` - -
-Create window: -```C# -wm.CreateWindow(BuiltInWindowNames.Scene); -``` - -
-Create dialog window: -```C# -IWindowManager wm = IOC.Resolve(); -wm.CreateDialogWindow(BuiltInWindowNames.About, "Header", - (sender, args) => { Debug.Log("OK"); }, - (sender, args) => { Debug.Log("Cancel"); }); -``` - -
-Set default layout: -```C# -IWindowManager wm = IOC.Resolve(); -string persistentLayoutName = wm.DefaultPersistentLayoutName; -if (wm.LayoutExist(persistentLayoutName)) -{ - wm.DeleteLayout(persistentLayoutName); -} - -wm.SetDefaultLayout(); -``` - -##How to: add custom window to Window Manager - -> [!NOTE] -> For information on how to create custom window please navigate to this -> [this](infrastructure.md#runtime-window) <- section - -1. Click Tools->Runtime Editor->Create Custom Window. -![Screenshot](~/resources/img/rteditor/window-manager/custom-window-menu.png) -2. Enter MyCustomWindow.prefab and click Save. -3. Enter MyNamespace namespace and click OK. -3. Add __RegisterMyCustomWindow__ component created in step 1. -4. Drag & Drop MyCustomWindow.prefab to Prefab field of RegisterMyCustomWindow script. -5. Click Play. -6. You should be able to open custom window using main menu. -![Screenshot](~/resources/img/rteditor/window-manager/custom-window-created.png) -7. Use [UnityWeld] (https://github.com/Real-Serious-Games/Unity-Weld). - -##How to: override default layout - -To override default layout do following: - -1. Create a script derived from LayoutExtension. -2. Override `GetLayoutInfo` method. -3. Create a new game object and add created script. -4. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. - -![Screenshot](~/resources/img/rteditor/window-manager/layout-override.png) - -``` C# -using Battlehub.UIControls.DockPanels; - -namespace Battlehub.RTEditor.Examples.Layout -{ - /// - /// Creates three colums layout (inspector, (scene, hierarchy)) - /// - public class ThreeColumsLayoutExample : LayoutExtension - { - protected override LayoutInfo GetLayoutInfo(IWindowManager wm) - { - LayoutInfo scene = wm.CreateLayoutInfo(BuiltInWindowNames.Scene); - scene.IsHeaderVisible = true; - - LayoutInfo hierarchy = wm.CreateLayoutInfo(BuiltInWindowNames.Hierarchy); - LayoutInfo inspector = wm.CreateLayoutInfo(BuiltInWindowNames.Inspector); - - //Defines a region divided into two equal parts (ratio 1 / 2) - LayoutInfo sceneAndHierarchy = - LayoutInfo.Horizontal(scene, hierarchy, ratio: 1/2.0f); - - //Defines a region divided into two parts - //1/3 for the inspector and 2/3 for the scene and hierarchy) - LayoutInfo layoutRoot = - LayoutInfo.Horizontal(inspector, sceneAndHierarchy, ratio: 1/3.0f); - - return layoutRoot; - } - - - } -} -``` - -You should see following: - -![Screenshot](~/resources/img/rteditor/window-manager/layout-override-result.png) - -##How to: override scene parameters - -To override scene parameters do following: - -1. Create ScenesSetupExample script. -2. Override `Extend` method and WindowTypeName property. -3. Create a new game object and add created script. -4. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. - -``` C# -using Battlehub.RTCommon; -using Battlehub.RTHandles; -using UnityEngine; - -namespace Battlehub.RTEditor.Examples.SceneSetup -{ - /// - /// This extension initializes 2D scene window - /// - public class ScenesSetupExample : RuntimeWindowExtension - { - /// - /// Type of window to be extended - /// - public override string WindowTypeName => BuiltInWindowNames.Scene; - - protected override void Extend(RuntimeWindow window) - { - //get a reference to the IRuntimeSceneComponent of the window - IRuntimeSceneComponent sceneComponent = - window.IOCContainer.Resolve(); - - //This is the point the camera looks at and orbiting around - sceneComponent.Pivot = Vector3.zero; - - //Switch the scene component and scene camera to orthographic mode - sceneComponent.IsOrthographic = true; - - //Disable scene gizmo - sceneComponent.IsSceneGizmoEnabled = false; - - //Disable rotation - sceneComponent.CanRotate = false; - - //Disable free move - sceneComponent.CanFreeMove = false; - - //Prevent camera position changes when zooming in and out - sceneComponent.ChangeOrthographicSizeOnly = true; - - //Set initial orthographic size - sceneComponent.OrthographicSize = 5.0f; - - //Set camera position according to window.Args - const float distance = 100; - sceneComponent.CameraPosition = -Vector3.forward * distance; - } - } -} -``` - -##How to: override tools panel - -To override tools panel do following: - -1. Create ToolsPanelOverride script. -2. Create game object and add ToolsPanelOverride component. -3. Set Tools Prefab field -4. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. - -![Screenshot](~/resources/img/rteditor/window-manager/tools-override.png) - -``` C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using UnityEngine; - -public class ToolsPanelOverrideExample : EditorExtension -{ - [SerializeField] - private Transform m_toolsPrefab = null; - - protected override void OnEditorCreated(object obj) - { - OverrideTools(); - } - - protected override void OnEditorExist() - { - OverrideTools(); - - IRuntimeEditor editor = IOC.Resolve(); - if (editor.IsOpened) - { - IWindowManager wm = IOC.Resolve(); - if (m_toolsPrefab != null) - { - wm.SetTools(Instantiate(m_toolsPrefab)); - } - else - { - wm.SetTools(null); - } - } - } - - private void OverrideTools() - { - IWindowManager wm = IOC.Resolve(); - wm.OverrideTools(m_toolsPrefab); - } -} -``` - -You should see following: - -![Screenshot](~/resources/img/rteditor/window-manager/tools-override-result.png) - -##How to: override ui scale - -To override ui scale do following: - -1. Create UIScaleOverride script. -2. Create game object and add UIScaleOverride component. -3. Set desired `Scale` -4. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. - -```C# -using Battlehub.RTCommon; -using Battlehub.RTEditor; -using UnityEngine; - -public class UIScaleOverride : EditorExtension -{ - [SerializeField] - private float Scale = 2; - - protected override void OnEditorExist() - { - ISettingsComponent settings = IOC.Resolve(); - settings.UIScale = Scale; - } -} -``` - -Before: - -![Screenshot](~/resources/img/rteditor/window-manager/ui-scale-before-override.png) - -After: - -![Screenshot](~/resources/img/rteditor/window-manager/ui-scale-after-override.png) - -##How to: change runtime editor colors - -RTE Appearance editor allows you to change colors of runtime editor. Reset Colors button will revert colors to default. - -![Screenshot](~/resources/img/rteditor/change-colors/rte-appearance.png) - -Following resources must be modified also: - -![Screenshot](~/resources/img/rteditor/change-colors/rte-resources.png) - -To override ui colors programmatically do following: - -1. Create UIColorsOverride script. -2. Create game object and add UIColorsOverride component. -3. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. - -```C# -using Battlehub.RTCommon; -using UnityEngine; - -namespace Battlehub.RTEditor.Demo -{ - public class UIColorsOverride : EditorExtension - { - protected override void OnEditorExist() - { - ISettingsComponent settings = IOC.Resolve(); - settings.SelectedThemeIndex = -1; - - RTEColors colors = new RTEColors(); - colors.Primary = Color.red; - - IRTEAppearance appearance = IOC.Resolve(); - appearance.Colors = colors; - } - } -} - -``` - - -##File Importers - - -__File importers__ are used during file import procedure to convert external file format to format supported by Runtime Editor. -For example __.png__ images should be converted to __UnityEngine.Texture2D__ before import. - -> [!NOTE] -> Unpack __Battlehub/3 RTEditor Importer__ package -> -> ![Screenshot](~/resources/img/rteditor/file-importers/rtimporter-package.png) - - -FileBrowser with importers can be opened using __File->Import From File__ menu item -![Screenshot](~/resources/img/rteditor/file-importers/menu-item.png) - -To write custom importer do following. Create new script and inherit your class from ProjectFileImporterAsync: - -```C# -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; -using System; -using System.IO; -using System.Threading; -using System.Threading.Tasks; -using UnityEngine; - -using UnityObject = UnityEngine.Object; - -namespace Battlehub.RTEditor -{ - public class JpgImporterExample : ProjectFileImporterAsync - { - public override string FileExt - { - get { return ".jpg"; } - } - - public override string IconPath - { - get { return "Importers/Jpg"; } - } - - public override Type TargetType - { - get { return typeof(Texture2D); } - } - - public override async Task ImportAsync( - string filePath, - string targetPath, - IProjectAsync project, - CancellationToken cancelToken) - { - byte[] bytes = filePath.Contains("://") ? - await DownloadBytesAsync(filePath) : - File.ReadAllBytes(filePath); - - Texture2D texture = new Texture2D(4, 4); - try - { - if (texture.LoadImage(bytes, false)) - { - IResourcePreviewUtility previewUtility = - IOC.Resolve(); - byte[] preview = previewUtility.CreatePreviewData(texture); - - using (await project.LockAsync()) - { - await project.SaveAsync(targetPath, texture, preview); - } - } - else - { - throw new FileImporterException($"Unable to load image {filePath}"); - } - } - catch (Exception e) - { - throw new FileImporterException(e.Message, e); - } - finally - { - UnityObject.Destroy(texture); - } - } - } -} - -``` - -> [!NOTE] -> Currently __File Browser__ supported on __Windows__ platform only - - -##Inspector View - -The main purpose of the inspector is to create different editors depending on the type of selected object and its components. -Here is a general idea of what is happening: - -* The user selects a Game Object, and the inspector creates a GameObject editor. -* The game object editor creates component editors. -* Each component editor creates property editors. - -![Screenshot](~/resources/img/rteditor/inspector-view/structure.png) - -Prefabs: - - * __InspectorView__ can be found in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/
Prefabs/Views folder, - * __GameObject__, __Material__ and __Component editors__ in Assets/Battlehub/RTEditor/Content/
Runtime/RTEditor/Prefabs/Editors, - * __Property editors__ in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/Prefabs/
Editors/PropertyEditors. - - -![Screenshot](~/resources/img/rteditor/inspector-view/property-editors.png) - -##How To: Configure Editors - -To select the editors to be used by the inspector, click __Tools->Runtime Editor->Configuration__ - -![Screenshot](~/resources/img/rteditor/editors-config/open-config-window.png) - -There are five sections in configuration window: - - * __Object Editors__ - select which editor to use for Game Object. - * __Property Editors__ - select which editors to use for component properties. - * __Material Editors__ - select which editors to use for materials - * __Standard Component Editors__ – select which editors to use for standard components. - * __Script Editors__ – select which editors to use for scripts. - - -After you select and enable the desired component editors, click the __Save Editors Map__ button - -![Screenshot](~/resources/img/rteditor/editors-config/config-window.png) - -##How To: Select Component Properties - -To select the properties displayed by the component editor, you need to create a class and inherit it from __ComponentDescriptorBase<>__. -After that, you need to implement the __GetProperties__ method. It should return __PropertyDescriptors__ for all properties that will be present in the component editor ui. -Here is an example of __TransformComponentDescriptor__: -```C# - -using UnityEngine; -using System.Reflection; -using Battlehub.Utils; -using Battlehub.RTCommon; - -namespace Battlehub.RTEditor -{ - public class TransformComponentDescriptor : ComponentDescriptorBase - { - public override object CreateConverter(ComponentEditor editor) - { - object[] converters = new object[editor.Components.Length]; - Component[] components = editor.Components; - for (int i = 0; i < components.Length; ++i) - { - Transform transform = (Transform)components[i]; - if (transform != null) - { - converters[i] = new TransformPropertyConverter - { - ExposeToEditor = transform.GetComponent() - }; - } - } - return converters; - } - - public override PropertyDescriptor[] GetProperties( - ComponentEditor editor, object converter) - { - object[] converters = (object[])converter; - - MemberInfo position = Strong.PropertyInfo( - (Transform x) => x.localPosition, "localPosition"); - MemberInfo positionConverted = Strong.PropertyInfo( - (TransformPropertyConverter x) => x.LocalPosition, "LocalPosition"); - MemberInfo rotation = Strong.PropertyInfo( - (Transform x) => x.localRotation, "localRotation"); - MemberInfo rotationConverted = Strong.PropertyInfo( - (TransformPropertyConverter x) => x.LocalEuler, "LocalEulerAngles"); - MemberInfo scale = Strong.PropertyInfo( - (Transform x) => x.localScale, "localScale"); - MemberInfo scaleConverted = Strong.PropertyInfo( - (TransformPropertyConverter x) => x.LocalScale, "LocalScale"); - - return new[] - { - new PropertyDescriptor( "Position",converters, positionConverted, position), - new PropertyDescriptor( "Rotation", converters, rotationConverted, rotation), - new PropertyDescriptor( "Scale", converters, scaleConverted, scale) - }; - } - } -} - -``` - -__TransformPropertyConverter__ is used to convert a quaternion to Euler angles. This is needed for Vector3Editor to be used instead of QuaternionEditor. - -> [!NOTE] -> The remaining built-in component descriptors are in the __Assets/Battlehub/RTEditor/Runtime/RTEditor/Editors/ComponentDescriptors__ folder. - - -##Resource Preview Utility - -The Resource Preview utility is used to create a preview of objects. This is how to use it: - -```C# -using Battlehub.RTCommon; -using UnityEngine; -using UnityEngine.UI; - -namespace Battlehub.RTEditor.Demo -{ - public class CreatePreviewExample : MonoBehaviour - { - [SerializeField] - private Image m_image = null; - [SerializeField] - private Object m_object = null; - - private Texture2D m_previewTexture; - private Sprite m_previewSprite; - - private void Update() - { - if (Input.GetKeyDown(KeyCode.Space)) - { - IResourcePreviewUtility previewUtil = IOC.Resolve(); - - if (m_previewTexture != null) - { - Destroy(m_previewTexture); - } - - if (m_previewSprite != null) - { - Destroy(m_previewSprite); - } - - if(previewUtil.CanCreatePreview(m_object)) - { - m_previewTexture = previewUtil.CreatePreview(m_object); - m_previewSprite = Sprite.Create(m_previewTexture, - new Rect(0, 0, m_previewTexture.width, m_previewTexture.height), - new Vector2(0.5f, 0.5f)); - - m_image.sprite = m_previewSprite; - } - } - } - - private void OnDestroy() - { - if (m_previewSprite != null) - { - Destroy(m_previewSprite); - } - - if (m_previewTexture != null) - { - Destroy(m_previewTexture); - } - } - } -} -``` - diff --git a/Docs/manual/save-load.md b/Docs/manual/save-load.md deleted file mode 100644 index 8678047..0000000 --- a/Docs/manual/save-load.md +++ /dev/null @@ -1,612 +0,0 @@ -#Save Load Docs -##Overview - -The __Runtime Save & Load__ (RTSL) subsystem is required for saving and managing scenes, assets and projects at runtime and consists of three main parts: - - * [Persistent Classes](#persistent-classes) - this part allows you to choose what to serialize and generate persistent classes for serialization. - * [Asset Libraries](#asset-library) - this part allows you to create and manage assets, as well as provide information to the RTSL to identify these assets. - * [Project](#project) - this part provides api to interact with RTSL. - - -> [!NOTE] -> RTSL use [protobuf.net](https://github.com/mgravell/protobuf-net) for serialization. - -![Screenshot](~/resources/img/save-load/get-started/demo2.png) - -##Getting Started - -After importing RTSL you will see the configuration window: - -![Screenshot](~/resources/img/save-load/get-started/config-window.png) - -After clicking "Build All", several folders will be created under __/Battlehub/RTSL_Data__ - -![Screenshot](~/resources/img/save-load/get-started/folders.png) - - * __Scripts__ for [serializable persistent classes](#persistent-classes). - * __Custom Implementation__ for user defined persistent classes. - * __Mappings__ for mappings between types that must be stored and serializable persistent types. - * __Libraries__ for [asset libraries and shader profiles](#asset-library). - -> [!NOTE] -> __RTSLTypeModel.dll__ contains [protobuf-net](https://github.com/mgravell/protobuf-net) type model. Due to [unity scripting restrictions](https://docs.unity3d.com/Manual/ScriptingRestrictions.html), runtime type model need to be pre-complied before - using at runtime. - -1. Create a new scene. -2. Drag and Drop __Assets/Battlehub/RTEditorDemo/Content/Runtime/RTEditor/DemoGame/
Prefabs/Game.prefab__ to hierarchy. - - ![Screenshot](~/resources/img/save-load/get-started/game-prefab.png) -

- -3. Click Tools->Runtime SaveLoad->__Update Libraries__ - - ![Screenshot](~/resources/img/save-load/get-started/collect-scene-dependencies.png) -

- -4. Click Tools->Runtime SaveLoad->__Create RTSL__ -5. Create __RTSLExample__ script and add it to the Game Object created at previous step. -6. Hit play. -7. Save scene using 'M' key. -8. Load scene using 'L' key. - -``` C# - -using System.Collections; - -using UnityEngine; -using UnityEngine.SceneManagement; - -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; - - -public class RTSLExample : MonoBehaviour -{ - IProject m_project; - - IEnumerator Start() - { - m_project = IOC.Resolve(); - - yield return m_project.OpenProject("My Project"); - yield return m_project.CreateFolder("Scenes/Demo"); - } - - IEnumerator SaveScene() - { - ProjectAsyncOperation ao = m_project.Save("Scenes/Demo/Scene", SceneManager.GetActiveScene()); - yield return ao; - - if(ao.Error.HasError) - { - Debug.LogError(ao.Error.ToString()); - } - } - - IEnumerator LoadScene() - { - ProjectAsyncOperation ao = m_project.Load("Scenes/Demo/Scene"); - yield return ao; - - if (ao.Error.HasError) - { - Debug.LogError(ao.Error.ToString()); - } - } - - void Update() - { - if (Input.GetKeyDown(KeyCode.M)) - { - StartCoroutine(SaveScene()); - } - - if (Input.GetKeyDown(KeyCode.L)) - { - if (m_project.Exist("Scenes/Demo/Scene")) - { - StartCoroutine(LoadScene()); - } - } - } -} - -``` - -Saved scene can be found in [__PersistentDataPath__](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html)__/My Project/Assets/Scenes/Demo folder__. - -> [!NOTE] -> Only several persistent classes enabled by default. Use [Persistent Classes Editor Window](#persistent-classes) to enable more. - -> [!NOTE] -> Demo scene can be found in __Assets/Battlehub/RTEditorDemo/Content/Runtime/RTSL__ folder. - - -##Persistent Classes - -__Persistent Class__ is a class derived from __Persistent Surrogate__ and has the __[ProtoContract]__ attribute . The main purpose of persistent classes is to give you complete control over what to save and how to save, without having to use reflection and without writing a lot of boilerplate code. - -To open persistent classes editor, click Tools->Runtime SaveLoad->__Persistent Classes->Edit__. - -![Screenshot](~/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png) - -Here is the persistent classes editor window: - -![Screenshot](~/resources/img/save-load/persistent-classes/editor.png) - -This window allows you: - - * Search for types you want to save. - * Select properties you want to save. - * Generate C# code of persistent classes. - -After clicking the __"Create Persistent Classes"__ button the following will occur: - - 1. Persistent classes will be created in -__Assets/Battlehub/RTSL_Data/Scripts/PersistentClasses__. - - ![Screenshot](~/resources/img/save-load/persistent-classes/persistent-classes-folder.png) -

- - 2. The editor window state will be saved in -__Assets/Battlehub/RTSL_Data/Mappings/Editor__. - - ![Screenshot](~/resources/img/save-load/persistent-classes/mappings-folder.png) -

- - 3. Custom Implementations will be created in __.../RTSL_Data/Scripts/CustomImplementation__. - - ![Screenshot](~/resources/img/save-load/persistent-classes/custom-implementation-folder.png) -

- - -> [!NOTE] -> To ensure forward compatibility of saved files, never delete the __ClassMappingStorage__ and __SurrogatesMappingsStorage__ prefabs !!! - -##How To: Create Custom Persistent Class - -In some cases, it is not possible to obtain all data to be saved using public properties and fields. For example, some data can only be retrieved using methods. -If you need to write your own code to save and load data, follow these steps: - - 1. Open Persistent Classes Editor. - 2. Find and select required type. - 3. Select __"Custom Implementation"__ - - ![Screenshot](~/resources/img/save-load/persistent-classes/create-custom-implementation.png) -

- - 4. Click __Create Persistent Classes__ button. - 5. Click __Edit Custom Implementation__ button. - - ![Screenshot](~/resources/img/save-load/persistent-classes/edit-custom-implementation.png) -

- - 6. You should see following: - -``` C# -#if !RTSL_MAINTENANCE -using Battlehub.RTSL; -namespace UnityEngine.Battlehub.SL2 -{ - [CustomImplementation] - public partial class PersistentJoint - { - /* - public override void ReadFrom(object obj) - { - base.ReadFrom(obj); - } - - public override object WriteTo(object obj) - { - return base.WriteTo(obj); - } - - public override void GetDeps(GetDepsContext context) - { - base.GetDeps(context); - } - - public override void GetDepsFrom(object obj, GetDepsFromContext context) - { - base.GetDepsFrom(obj, context); - } - */ - } -} -#endif - -``` - -There are four methods that can be implemented: - - * `void ReadFrom(object obj)` - called before serialization. Read the data from obj and save it to the fields of the persistent object. - * `object WriteTo(object obj)` - called after deserialization. Write stored data to obj. - * `void GetDeps(GetDepsContext context)` - return IDs of dependencies. - * `void GetDepsFrom(object obj, GetDepsFromContext context)` - get dependencies from obj. - -Implementation of PersistentJoint may look like this: - -``` C# - -#if !RTSL_MAINTENANCE -using Battlehub.RTSL; -namespace UnityEngine.Battlehub.SL2 -{ - [CustomImplementation] - public partial class PersistentJoint - { - [ProtoBuf.ProtoMember(1)] - private TID m_connectedBody; - - [ProtoBuf.ProtoMember(2)] - private PersistentVector3 m_anchor; - - //..... more fields - - public override void ReadFrom(object obj) - { - base.ReadFrom(obj); - - Joint joint = (Joint)obj; - if (joint == null) - { - return; - } - - m_connectedBody = ToID(joint.connectedBody); - m_anchor = joint.anchor; - - //... read other fields - } - - public override object WriteTo(object obj) - { - obj = base.WriteTo(obj); - - Joint joint = (Joint)obj; - if (joint == null) - { - return obj; - } - - joint.connectedBody = FromID(m_connectedBody); - joint.anchor = m_anchor; - - //... write other fields - - return joint; - } - - public override void GetDeps(GetDepsContext context) - { - base.GetDeps(context); - - AddDep(m_connectedBody, context); - - //... get other dependencies - } - - public override void GetDepsFrom(object obj, GetDepsFromContext context) - { - base.GetDepsFrom(obj, context); - - Joint joint = (Joint)obj; - if (joint == null) - { - return; - } - - AddDep(joint.connectedBody, context); - - //... get other dependencies - } - } -} -#endif - - -``` - -> [!NOTE] -> Click __Tools-> Runtime SaveLoad->Config->Build All__ every time you finish making changes to the persistent classes and are ready to build your application. - - -##Asset Library - -Game objects in any scene refer assets such as materials, meshes, textures, etc. -Identifiers of these assets obtained using GetInstanceID() method do not remain constant and can change. -__Asset libraries__, in contrast, are used to store unique asset identifiers that never change. - -There are two special asset libraries: - - * Built-in asset library - contains Unity build-in assets. - * Scene asset library - contains assets referenced by scene Game Objects. - -Both libraries created automatically by clicking __Tools->Runtime SaveLoad->Update Libraries__ - -![Screenshot](~/resources/img/save-load/asset-libraries/special-asset-libraries.png) - -> [!NOTE] -> Scene asset libraries are referenced using the scene name. This means that scenes must have unique names. - -> [!NOTE] -> Click __Tools->Runtime SaveLoad->Update Libraries__ each time you have finished making changes to the scene and are ready to run the application. - -##How To: Create Asset Library - -If the built-in asset library and scene dependency library are not sufficient, - and the new resources must be [Resource.Loaded](https://docs.unity3d.com/ScriptReference/Resources.Load.html) at runtime, you can create -a new asset library by clicking -__Create -> Runtime SaveLoad -> Runtime Asset Library__ in the context menu. - -![Screenshot](~/resources/img/save-load/asset-libraries/create-asset-library.png) - -> [!NOTE] -> An asset library must be created inside the __Resources__ folder. - -Use drag & drop to add assets to asset library - -![Screenshot](~/resources/img/save-load/asset-libraries/populate-asset-library.png) - -> [!NOTE] -> One asset library can contain no more than __65535__ assets. - -If you change hierarchy of one or more prefabs, you will be asked to synchronize the assets library. Do it by clicking __Synchronize__ button. - -![Screenshot](~/resources/img/save-load/asset-libraries/synchronize-asset-library.png) - -##Project Item & Asset Item - -__Project Items__ are used to create tree structures representing the project tree. - -``` C# - [ProtoContract] - [ProtoInclude(1, typeof(AssetItem))] - public class ProjectItem - { - [ProtoMember(2)] - public long ItemID; - - [ProtoMember(3)] - public Guid ItemGUID; - - public string Name; - public string Ext; - - public ProjectItem Parent; - public List Children; - - // ... - -``` - -__Asset Items__ are meta representations of assets in a project. They are stored in *.rtmeta files. - -``` C# - - [ProtoContract] - public class AssetItem : ProjectItem - { - public event EventHandler PreviewDataChanged; - - [ProtoMember(1)] - public Guid TypeGuid; - - [ProtoMember(2)] - public PrefabPart[] Parts; - - [ProtoMember(3)] - public long[] Dependencies; - - [ProtoMember(4, IsRequired = true)] - public long CustomDataOffset = -1; - - [ProtoMember(5)] - public Guid[] DependenciesGuids; - - - private Preview m_preview; - public Preview Preview - { - get { return m_preview; } - set - { - if (m_preview != value) - { - m_preview = value; - if (PreviewDataChanged != null) - { - PreviewDataChanged(this, EventArgs.Empty); - } - } - } - } - - public override bool IsFolder - { - get { return false; } - } - - } - -``` - -##Project - -__IProject__ is the main interface of the RTSL library. Here is how to access it: - -``` C# - -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; - -void Awake() -{ - IProject project = IOC.Resolve(); -} - -``` -
-Open project: -``` C# - -using System.Collections; -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; - -IEnumerator Start() -{ - IProject project = IOC.Resolve(); - yield return project.OpenProject("My Project"); -} - -``` - -
-Close project: -``` C# -m_project.CloseProject(); -``` - -
-Delete project: -``` C# -yield return project.DeleteProject("My Project"); -``` - -
-Create folder: -``` C# -yield return project.CreateFolder("My Scenes"); -``` - -
-Delete folder: -``` C# -yield return project.DeleteFolder("My Scenes"); -``` - -
-Save scene: -``` C# - -using System.Collections; - -using UnityEngine; -using UnityEngine.SceneManagement; - -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; - -IEnumerator Start() -{ - //... - - ProjectAsyncOperation ao = project.Save("My Scenes/Scene 1", SceneManager.GetActiveScene()); - yield return ao; - - if (ao.Error.HasError) - { - Debug.LogError(ao.Error.ToString()); - } -} - -``` -
-Load scene: -``` C# - -using System.Collections; - -using UnityEngine; -using UnityEngine.SceneManagement; - -using Battlehub.RTCommon; -using Battlehub.RTSL.Interface; - -IEnumerator Start() -{ - //... - - ProjectAsyncOperation ao = project.Load("My Scenes/Scene 1"); - yield return ao; - - if (ao.Error.HasError) - { - Debug.LogError(ao.Error.ToString()); - } -} - -``` - -
-Delete scene: -``` C# -yield return project.Delete("My Scenes/Scene 1"); -``` - - -
-Find objects of type: -``` C# -foreach(string scene in project.Find("Scene 1")) -{ - Debug.Log(scene); -} - -``` - -
-Create Prefab: -``` C# -GameObject primitive = GameObject.CreatePrimitive(PrimitiveType.Capsule); -yield return project.Save("Capsule", primitive); -Destroy(primitive); -``` - -
-Load and instantiate Prefab: -``` C# -ProjectAsyncOperation ao = project.Load("Capsule"); -yield return ao; - -if(!ao.Error.HasError) -{ - Instantiate(ao.Result[0]); -} -``` - -
-Import all assets from asset bundle: -``` C# - -//get names of asset bundles from Assets/StreamingAssets folder. -ProjectAsyncOperation ao = project.GetAssetBundles(); -yield return ao; - -//load ImportItems from first asset bundle -ProjectAsyncOperation loadAo = project.LoadImportItems(ao.Result[0], false); -yield return loadAo; - - -if (!loadAo.Error.HasError) -{ - //create previews here... - //then unload asset bundle assets - project.UnloadImportItems(loadAo.Result); - - //import all - yield return project.Import(loadAo.Result.Flatten(true).OfType().ToArray()); -} - -//log all asset items in project -foreach(string path in project.Find(string.Empty, true)) -{ - Debug.Log(path); -} -``` - - - - diff --git a/Docs/manual/toc.yml b/Docs/manual/toc.yml deleted file mode 100644 index d3ed8ad..0000000 --- a/Docs/manual/toc.yml +++ /dev/null @@ -1,28 +0,0 @@ -- name: General - href: general.md -- name: Transform Handles - href: transform-handles.md -- name: Common Infrastructure - href: infrastructure.md -- name: Runtime Editor - href: runtime-editor.md -- name: Save Load - href: save-load.md -- name: Rendering - href: rendering.md -- name: Gizmos - href: gizmos.md -- name: Dock Panel - href: dock-panels.md -- name: Virtualizing TreeView - href: vtv.md -- name: Menu Control - href: menu-control.md -- name: Animation Editor - href: animation-editor.md -- name: Editor Extensions - href: editor-extensions.md -- name: Universal RP Support - href: urp-support.md -- name: HDRP Support - href: hdrp-support.md \ No newline at end of file diff --git a/Docs/manual/transform-handles.md b/Docs/manual/transform-handles.md deleted file mode 100644 index a2beea7..0000000 --- a/Docs/manual/transform-handles.md +++ /dev/null @@ -1,342 +0,0 @@ -#Transform Handles Docs -##Overview - -__Runtime Transform Handles__ are the __runtime__ 3D controls that are used to manipulate items in the scene. There three built-in transform tools to [position](#position-handle), [rotate](#rotation-handle) and [scale](#scale-handle) object via transform component. -Another special built-in tool - the [rect tool](#rect-tool) allows you to move and change scale of game objects. Supplementary controls such as [scene gizmo](#scene-gizmo), selection gizmo and [grid](#grid) allows to change viewing angle and projection mode, identify selected objects and orientate in scene space. -Another important components: [selection component](#runtime-selection-component), [scene component](#runtime-scene-component) and [handles component](#runtime-handles-component) allows to select objects, navigate in scene and change transform handles appearance. -Scripts, prefabs and example scenes for transform handles can be found in Assets/Battlehub/__RTHandles__ folder. - -> [!NOTE] -> Runtime Transform Handles are simply referred as transform handles through this text - - -Here is how transform handles and components rendered in the game view: -![Screenshot](~/resources/img/transform-handels/overview/overview.png) - -All in one: - -![Screenshot](~/resources/img/transform-handels/overview/all-in-one.png) - - -##Getting Started - -Here are four simple steps to get started with transform handles: - - 1. Create transform handles using __Tools->Runtime Handles->Create__. - ![Screenshot](~/resources/img/transform-handels/getting-started/step1-create-transform-handles.png) -   - 2. Create and select Game Object. - ![Screenshot](~/resources/img/transform-handels/getting-started/step2-create-object.png) -   - 3. Enable object editing with __Tools->Runtime Handles->Enable Editing__. - ![Screenshot](~/resources/img/transform-handels/getting-started/step3-enable-editing.png) -   - 4. Hit play. After clicking on the game object in the game view you should see the following: - ![Screenshot](~/resources/img/transform-handels/getting-started/step4-hit-play.png) - -Following actions available by default: - -Action | Input ------------- | ------------- -Select | Left-click -Move (Pan) | Hold middle mouse button, then drag -Flythrough | Click and hold the right mouse button. Move around using mouse and WSAD keys. -Orbit | Hold Alt+left-click, then drag -Zoom | Use the scroll wheel -Undo | Shift + Z (Ctrl + Z in player) -Redo | Shift + Y (Ctrl + Y in player) - -> [!NOTE] -> Example scenes can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/RTHandles - - -##Base Handle - -This is the base class for position, rotation, scale transform handles. Therefore all transform handles have following settings: - - * `Window` - reference to the [window](infrastructure.md#runtime-window). Interaction with transform handle allowed only in case referenced window is active. - * `HighlightOnHover` - bool value. If true then transform handles will be highlighted on pointer over. Set it to false if touch input is used. (default: true) - * `Appearance` - reference to the [runtime handles component](#runtime-handles-component). Various visual settings. - * `Model` - reference to the prefab with BaseHandle model component attached. If Model is set then default rendering procedure will be disabled and prefab instance will be rendered instead. - * `Targets` - array of transforms to be modified by transform handle. - * `GridSize` - float value used in unit-snapping mode. By default Unit-snapping mode is activated with 'Shift' key. - * `BeforeDrag` - event raised before transform handle drag. - * `Drag` - event raised each frame during drag and drop operation. - * `Drop` - event raised when drag and drop operation completed. - - -##Position Handle - -To create a position handle, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__PositionHandle__ component. - -![Screenshot](~/resources/img/transform-handels/position-handle/create-position-handle.png) - -The colors and scale of the transform handles can be adjusted using [Runtime Handles Component](#runtime-handles-component), and the proportions of individual parts such as lines and arrows can be adjusted using the __Position Handle Model__ script attached to PositionHandleModel.prefab. -To change the proportions of the position handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/
__PositionHandleModel.prefab__ and add a reference to it using `Model` field of the Position Handle. - -![Screenshot](~/resources/img/transform-handels/position-handle/set-model-field.png) - -Position Handle Model script has following fields: - - * `Radius` - thickness of the line (default: 0,01). - * `Length` - lenght of the line (default: 1). - * `Arrow Radius` - radius of the arrow (default 0,075). - * `Arrow Length` - lenght of the arrow (default 0,2). - * `Quad Length` - size of xy, xz and yz quads (default 0,2). - -Adjustments example: -![Screenshot](~/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png) - - -##Rotation Handle - -To create a rotation handle, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__RotationHandle__ component. - -![Screenshot](~/resources/img/transform-handels/rotation-handle/create-rotation-handle.png) - -The colors and scale of the transform handles can be adjusted using [Runtime Handles Component](#runtime-handles-component), and the proportions of individual parts can be adjusted using the __Rotation Handle Model__ script attached to RotationHandleModel.prefab. -To change the proportions of the rotation handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/__RotationHandleModel.prefab__ and add a reference to it using `Model` field of the Rotation Handle. - -![Screenshot](~/resources/img/transform-handels/rotation-handle/set-model-field.png) - -Rotation Handle Model script has following fields: - - * `Minor Radius` - line thickness (default: 0,0075). - * `Major Radius` - x-axis, y-axis, z-axis, inner circle radius (default: 1). - * `Outer Radius` - outer circle radius (default: 1,11). - -Adjustments example: -![Screenshot](~/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png) - -##Scale Handle -To create a scale handle, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__ScaleHandle__ component. - -![Screenshot](~/resources/img/transform-handels/scale-handle/create-scale-handle.png) - -The colors and scale of the transform handles can be adjusted using [Runtime Handles Component](#runtime-handles-component), and the proportions of individual parts can be adjusted using the __Scale Handle Model__ script attached to ScaleHandleModel.prefab. -To change the proportions of the scale handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/__ScaleHandleModel.prefab__ and add a reference to it using `Model` field of the Scale Handle. - -![Screenshot](~/resources/img/transform-handels/scale-handle/set-model-field.png) - -Scale Handle Model script has following fields: - - * `Radius` - line thickness (default: 0,01). - * `Length` - line length (default: 1). - * `Arrow Radius` - cap size (default: 0,05). - -Adjustments example: -![Screenshot](~/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png) - -##Rect Tool - -To create a rect tool, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__RectTool__ component. - 3. Set Targets field. - -The colors and scale of the rect tool can be adjusted using Runtime Handles Component. - -##Locking Axes - -The Assets/Battlehub/RTEditor/Runtime/RTCommon/__LockAxes__ component prevents the modification of certain transformations with the [position](#position-handle), [rotation](#rotation-handle) or [scale](#scale-handle) handles. Attach it to [selectable](#runtime-selection-component) Game Object and choose axes you want to lock. - -![Screenshot](~/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png) - -##Scene Gizmo - -To create a scene gizmo, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__SceneGizmo__ component. - - ![Screenshot](~/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png) - -Scene gizmo script has following fields: - - * `Window` - reference to the [window](infrastructure.md#runtime-window). Interaction with scene gizmo allowed only in case referenced window is active. - * `Btn Projection` - UGUI button to switch between orthographic and perspective projection (default: None). - * `Pivot` - transformation of the object around which the camera rotates. - * `Size` - scene gizmo rect size (default: 96,96). - * `Pivot Point` - scene gizmo rect pivot point (default: 1,0). - * `Anchor` - scene gizmo rect anchor (default: 1,0). - * `Appearance` - reference to the [runtime handles component](#runtime-handles-component). Various visual settings. - * `Orientation Changing` - event fires when camera rotation and position are about to be changed. - * `Orientation Changed` - event fires when camera rotation and position are changed. - * `Projection Changed` - event fires when camera projection changed. - -##Grid - -To create a grid, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__SceneGrid__ component. - -![Screenshot](~/resources/img/transform-handels/grid/scene-grid.png) - -To change color of the grid use `Grid Color` field of [runtime handles component](#runtime-handles-component). - -##Runtime Handles Component - -Use this script to change appearance of transform handles: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__RuntimeHandlesComponent__ component - -![Screenshot](~/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png) - -Runtime Handles Component script has following fields: - - * `Colors` - transform handles, scene gizmo, selection gizmo and grid colors. - * `Handle Scale` - transform handles scale (default: 1). - * `Scene Gizmo Scale` - scale of the scene gizmo (default: 1). - * `Selection Margin` - scale of clickable area around transform handle axes (default: 1). - * `Invert Z Axis` - invert position handle z-axis (default: false). - * `Position Handle Arrows Only` - hide xy, yz and xz quads (default: false). - - -##Runtime Selection Component - -This is the implementation of default selection behavior. -To enable default selection behavior: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTHandles/Scripts/__RuntimeSelectionComponent__. - 3. Choose objects you want to make selectable and click __Tools->Runtime Handles->Enable Editing__. - * Alternatively add [Assets/Battlehub/RTEditor/Runtime/RTCommon/__ExposeToEditor__](infrastructure.md#expose-to-editor). - 4. To visualize selection add __OutlineManager__ to object with Runtime Selection Component. - - -![Screenshot](~/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png) - -Following actions defined in Assets/Battlehub/RTHandles/Scripts/Input/__RuntimeSelectionInput__ : - -Action | Input -------------- | ------------- -Select | Left-click -Select multiple | Hold Shift + left-click (Ctrl + left-click in player) -Select all | Hold Shift + A (Ctrl + A in player) - -
-Runtime Selection Component script has following fields: - - * `Window` - [window reference](infrastructure.md#runtime-window). - * `Position Handle` - [position handle reference](#position-handle). - * `Rotation Handle` - [rotation handle reference](#rotation-handle). - * `Scale Handle` - [scale handle reference](#scale-handle). - * `Rect Tool` - [rect tool reference](#rect-tool). - * `Box Selection` - [box selection reference](#box-selection). - * `Grid` - [scene grid reference](#grid). - -To switch between transform handles using Q W E R T keys, do the following : - - 1. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/Input/__RuntimeToolsInput__ component. - -> [!NOTE] -> If you wish to switch between transform handles programmatically proceed to [-> this <-](infrastructure.md#runtime-tools) section. - -> [!NOTE] -> If you wish to change selection programmatically proceed to [-> this <-](infrastructure.md#runtime-selection) section. - -##Box Selection - -To create a Box Selection, do the following: - - 1. Create a new Game Object. - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__BoxSelection__ component. - -![Screenshot](~/resources/img/transform-handels/box-selection/create-box-selection.png) - -> [!NOTE] -> Game Objects without [__ExposeToEditor__](infrastructure.md#expose-to-editor) component are invisible to Box Selection. - -> [!NOTE] -> Box Selection use [Runtime Selection API](infrastructure.md#runtime-selection) to store selected objects. - - -Box Selection has following fields: - - * `Window` - reference to the [window](infrastructure.md#runtime-window). - * `Graphics` - sprite which is used to render box selection. - * `Use Camera Space` - use camera space for rendering (true) or screen space (false) (default:true) - * `Box Selection Method` - box selection method: - * _Vertex_ - use MeshFilter.sharedMesh.vertices (default); - * _Loose Fitting_ - use renderer bounds and collider (default); - * _Bounds Center_ - use bounds center; - * _Transform Center_ - use transform center; - -Use following code to filter objects selected using Box Selection: - -``` C# -using Battlehub.RTHandles; -using UnityEngine; - -//In this example objects with name "Capsule" are filtered out - -public class FilteringBehaviour : MonoBehaviour -{ - [SerializeField] - private BoxSelection m_boxSelection; - - private void Start() - { - m_boxSelection.Filtering += OnFiltering; - } - - private void OnDestroy() - { - if (m_boxSelection != null) - { - m_boxSelection.Filtering -= OnFiltering; - } - } - - private void OnFiltering(object sender, FilteringArgs e) - { - if (e.Object.name == "Capsule") - { - e.Cancel = true; - } - } -} -``` - -##Runtime Scene Component - -Runtime Scene Component extends [Runtime Selection Component](#runtime-selection-component) and enables mouse orbiting, movement and zoom. - -To create a Runtime Scene Component, do the following: - - 1. Create a new Game Object - 2. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/__RuntimeSelectionComponent__. - -![Screenshot](~/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png) - -Runtime Scene Component has following fields: - - * `View Texture` - cursor which is visible during mouse orbiting. - * `Move Texture` - cursor which is visible during movement. - * `Free Move Texture` - cursor which is visibile in flythrough mode. - * `Scene Gizmo` - reference to the [Scene Gizmo](#scene-gizmo). - -Actions defined in Battlehub/RTEditor/Runtime/RTHandles/Input/__RuntimeSceneInput__ : - -Action | Input --------------| ------------- -Focus | Press F -Snap To Grid | Press Shift + G (Ctrl + G in player) -Move (Pan) | Hold middle or right mouse button, then drag -Flythrough | Click and hold the right mouse button. Move around using mouse and WSAD keys. -Orbit | Hold Alt+left-click, then drag -Zoom | Use the scroll wheel - -
diff --git a/Docs/manual/urp-support.md b/Docs/manual/urp-support.md deleted file mode 100644 index 6ac6945..0000000 --- a/Docs/manual/urp-support.md +++ /dev/null @@ -1,29 +0,0 @@ -#Universal Render Pipeline Support Docs -##Overview -The Runtime Editor supports different versions of [Unversal Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/index.html). - -##Getting Started - -1. Unpack Assets/Battlehub/__1 UniversalRP Support [Your version].unitypackage__. -![Screenshot](~/resources/img/urp-support/getting-started-1.png) - -2. Click Tools->Runtime Editor->Use built-in RenderPipelineAsset. -![Screenshot](~/resources/img/urp-support/getting-started-2.png) - -3. Switch Color Space from __Gamma__ to __Linear__. -![Screenshot](~/resources/img/urp-support/getting-started-5.png) - -4. Create Runtime Editor using __Tools->Runtime Editor->Create RTEditor__
(Optionally __Tools->Runtime Editor->Create RTExtensions__) -5. Add Universal RP support using __Tools->Runtime Editor->Add URP support for RTEditor__
(Optionally __Tools->Runtime Editor->Add URP support for RTExtensions__) -![Screenshot](~/resources/img/urp-support/getting-started-4.png) -6. Hit Play - -> [!NOTE] -> Complete demo scene can be found in __Assets/Battlehub/RTEditorURP/Demo__ -> -> Be sure to unpack Assets/Battlehub/2 RTEditor Demo - -> [!NOTE] -> For [__Transform Handles__](transform-handles.md) use Tools->Runtime Handles submenu -> -> ![Screenshot](~/resources/img/urp-support/rthandles-urp-support.png) diff --git a/Docs/manual/vtv.md b/Docs/manual/vtv.md deleted file mode 100644 index 09693c2..0000000 --- a/Docs/manual/vtv.md +++ /dev/null @@ -1,411 +0,0 @@ -#Virtualizing TreeView Docs -##Overview -The [__Virtualizing Tree View__](#virtualizing-tree-view) is a control that displays a hierarchical data. Virtualzing Tree View implements drag & drop, data binding and selection functions. -It is highly customizable and can be used to display large collections of data (1000+ items). - -![Screenshot](~/resources/img/vtv/overview/vtv.png) - -##Getting Started - - 1. Create Canvas. - 2. Add __VirtualizingTreeView.prefab__ from - __/Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs__ to hierarchy. - 3. Create __GettingStarted.cs__ script and add it to __VirtualizingTreeView__ Game Object. - 4. Hit Play. - -```C# -//GetStarted.cs - -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; - -using Battlehub.UIControls; - -//Example of hierarchical data item -public class ExampleDataItem -{ - public string Name; - //... additional fields here ...// - - public ExampleDataItem Parent; - public List Children; - - public ExampleDataItem(string name) - { - Name = name; - Children = new List(); - } - - public override string ToString() - { - return Name; - } -} - -public class GetStarted : MonoBehaviour -{ - private VirtualizingTreeView m_treeView; - - //root level data items - private List m_items; - - void Start() - { - m_treeView = GetComponent(); - - //This event fired for each item that becomes visible - m_treeView.ItemDataBinding += OnItemDataBinding; - - //This event is fired for each expanded item - m_treeView.ItemExpanding += OnItemExpanding; - - //This event is triggered for each item after drag & drop - m_treeView.ItemDrop += OnItemDrop; - - //Create data items - m_items = new List(); - for(int i = 0; i < 1000; ++i) - { - m_items.Add(new ExampleDataItem("Data Item " + i)); - } - - //Populate tree view with data items - m_treeView.Items = m_items; - } - - void OnDestroy() - { - if(m_treeView != null) - { - m_treeView.ItemDataBinding -= OnItemDataBinding; - m_treeView.ItemExpanding -= OnItemExpanding; - m_treeView.ItemDrop -= OnItemDrop; - } - } - - void OnItemDataBinding(object sender, VirtualizingTreeViewItemDataBindingArgs e) - { - ExampleDataItem item = (ExampleDataItem)e.Item; - - //Get the controls from ItemsPresenter and copy the data into them. - Text text = e.ItemPresenter.GetComponentInChildren(true); - text.text = item.Name; - - Image icon = e.ItemPresenter.GetComponentsInChildren()[4]; - icon.sprite = Resources.Load("IconNew"); - - //Notify the tree of the presence of child data items. - e.HasChildren = item.Children.Count > 0; - } - - void OnItemExpanding(object sender, VirtualizingItemExpandingArgs e) - { - ExampleDataItem item = (ExampleDataItem)e.Item; - - //Return children to the tree view - e.Children = item.Children; - } - - void OnItemDrop(object sender, ItemDropArgs args) - { - if (args.DropTarget == null) - { - return; - } - - //Handle ItemDrop event using standard handler. - m_treeView.ItemDropStdHandler(args, - (item) => item.Parent, - (item, parent) => item.Parent = parent, - (item, parent) => ChildrenOf(parent).IndexOf(item), - (item, parent) => ChildrenOf(parent).Remove(item), - (item, parent, i) => ChildrenOf(parent).Insert(i, item)); - } - - List ChildrenOf(ExampleDataItem parent) - { - if (parent == null) - { - return m_items; - } - return parent.Children; - } -} -``` - -You should see scrollable tree view with data items and drag & drop support: - -![Screenshot](~/resources/img/vtv/get-started/get-started.png) - -> [!NOTE] -> Full demo can be found in __Assets/Battlehub/RTEditorDemo/Content/Runtime/UIControls/VirtualizingTreeView__ folder - -##Virtualizing Scroll Rect - -This class reuse "ui containers" to efficiently represent large data collections. UI containers are created only for a small visible part of data. -__VirtualizingScrollRect.cs__ can be found in __Assets/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView__ folder. - -Events: - - * `event DataBindAction ItemDataBinding` - raised when new portion of data become visible . - -Fields: - - * `Container Prefab` - prefab, which is used to create instances of ui containers for data items. - * `Virtual Content` - parent of ui containers. - -Properties: - - * `IList Items { get; set; }` - gets or sets list of data items. - * `int ItemsCount{ get; }` - gets the number of data items. - * `int Index { get; set; }` - gets or sets index of first visible data item. - * `int VisibleItemsCount { get; }` - gets the number of currently visible data items. - -Methods: - - * `bool IsParentOf(Transform child)` - returns true if the Scroll Rect is the parent of the Transform. - * `void InsertItem(int index, object item, bool raiseDataBindingEvent = true)` - insert data item. - * `void RemoveItems(int[] indices, bool raiseItemDataBindingEvent = true)` - remove data items. - * `RectTransform GetContainer(object obj)` - returns the ui container for data item. - * `RectTransform FirstContainer()` - returns the first visible ui container. - * `RectTransform LastContainer()` - returns the last visible ui container. - * `void ForEachContainer(System.Action action)` - run action for each ui container. - * `void SetNextSibling(object sibling, object nextSibling)` - reorder data items and ui containers. - * `void SetPrevSibling(object sibling, object prevSibling)` - reorder data items and ui containers. - -##Virtualizing Items Control -This class implements drag and drop, insert, delete, reorder functions and triggers many useful events. It also serves as the base class for controls, such as listbox and treeview. -Implementation can be found in __Assets/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView__ folder. - -Events: - - * `event EventHandler ItemBeginDrag` - raised on begin drag. - * `event EventHandler ItemBeginDrop` - raised on item drop. - * `event EventHandler ItemDragEnter` - occurs when the pointer enters a new drop target. - * `event EventHandler ItemDragExit` - raised when pointer leaves drop area. - * `event EventHandler ItemDrag` - fired while dragging an item. - * `event EventHandler ItemDrop` - fired after item dropped. - * `event EventHandler ItemEndDrag` - raised when drag & drop operation completed. - * `event EventHandler SelectionChanged` - occurs when the selection is changed. - * `event EventHandler ItemDoubleClick` - triggered after double clicking on an item. - * `event EventHandler ItemClick` - triggered after clicking on an item. - * `event EventHandler ItemsRemoving` - triggered before removing items. - * `event EventHandler ItemsRemoved` - triggered after removing items. - * `event EventHandler IsFocusedChanged` - raised when IsFocused value changed. - * `event EventHandler Submit` - on submit. - * `event EventHandler Cancel` - on cancel. - * `event EventHandler Click` - triggered after clicking on the tree view. - * `event EventHandler PointerEnter` - occurs when the pointer enters the tree view. - * `event EventHandler PointerExit` - occurs when the pointer leaves the tree view. - * `event EventHandler ItemDataBinding` - occurs when a new ui container is created or an update is required. - * `event EventHandler ItemBeginEdit` - occurs when the ui container enters edit mode, and the EditorPresenter becomes visible. - * `event EventHandler ItemEndEdit`- occurs when the ui container exit edit mode, and the ItemsPresenter becomes visible. - -Fields: - - * `bool SelectOnPointerUp` - select item on pointer up (default: false). - * `bool CanUnselectAll` - can the user unselect all items? If set to false then at least one item has to be selected (default: true). - * `bool CanSelectAll` - can the user select all items? (default:true). - * `bool CanEdit` - can the user edit items? (default: true). - * `bool CanRemove` - can the user remove items? (default: true). - * `bool CanDrag` - is drag & drop allowed? (default:true). - * `bool CanReorder` - Is the reordering of items allowed? (default: true). - * `float ScrollSpeed` - scrolling sensitivity. - -Properties: - - * `object DropTarget { get; }` - get currently active drop target. - * `object[] DragItems { get; }` - get items that are currently dragging. - * `ItemDropAction DropAction { get; }` - get current drop action: - * _None_, - * _SetLastChild_, - * _SetPrevSilbing_, - * _SetNextSibling_. - * `int SelectedItemsCount { get; }` - get selected data items count. - * `IEnumerable SelectedItems { get; set; }` - get or set selected data items. - * `object SelectedItem { get; set; }` - get or set selected data item. - * `int SelectedIndex { get; set; }` - get or set index of selected data item. - * `IEnumerable Items { get; set; }` - data source. - -Methods: - - * `int IndexOf(object obj)` - get the index of the data item. - * `void SetIndex(object obj, int newIndex)` - set index of data item. - * `VirtualizingItemContainer GetItemContainer(object item)` - get the visible ui container. - * `ItemContainerData GetItemContainerData(object item)` - get the state of the ui container. - * `ItemContainerData Add(object item)` - add data item. - * `ItemContainerData Insert(int index, object item)` - insert data item. - * `void Remove(object item)` - remove data item. - * `void SetNextSibling(object sibling, object nextSibling)` - reorder data items and ui containers. - * `void SetPrevSibling(object sibling, object prevSibling)` - reorder data items and ui containers. - -##Virtualizing Drop Marker - -The __Virtualizing Drop Marker__ is used to highlight the drop location of the item. Virtualizing Drop Marker can be in one of the states defined in the __ItemDropAction__ enum. - -```C# -public enum ItemDropAction -{ - None, - SetLastChild, - SetPrevSibling, - SetNextSibling -} -``` - -![Screenshot](~/resources/img/vtv/item-drop-marker/item-drop-marker.png) - -##Virtualizing Tree View - -Structure: - -![Screenshot](~/resources/img/vtv/vtv/structure.png) - -Prefab:
__/Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs/VirtualizingTreeView__. -Script:
__/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView/VirtualizingTreeView.cs__. -Base Class: [__Virtualizing Items Control__](#virtualizing-items-control) - -Events: - - * `event EventHandler ItemExpanding` - - triggered before the parent item expands. - * `event EventHandler ItemCollapsed` - - triggered after folding the parent item. - -Fields: - - * `bool SelectOnPointerUp` - select item on pointer up (default: false). - * `bool CanUnselectAll` - If set to false then at least one item has to be selected (default: true). - * `bool CanSelectAll` - can the user select all items? (default:true). - * `bool CanEdit` - can the user edit items? (default: true). - * `bool CanRemove` - can the user remove items? (default: true). - * `bool CanDrag` - is drag & drop allowed? (default:true). - * `bool CanReorder` - Is the reordering of items allowed? (default: true). - * `bool CanReparent` - Is parent change allowed? (default: true). - * `float ScrollSpeed` - scrolling sensitivity. - -Methods: - - * `void AddChild(object parent, object item)` - add child item. - * `void RemoveChild(object parent, object item)` - remove child item. - * `bool Expand(object item)` - expand item - _fails and returns false if the element is not visible and is a descendant of the collapsed parent)_. - * `void ExpandTo(T item, Func getParent)` - expand all ancestors. - * `void ExpandChildren(T item, Func getChildren)` - expand all descendants. - * `void ExpandAll(T item, Func getParent, Func getChildren)` - - calls ExpandTo, then ExpandChildren. - * `void Collapse(object item)` - collapse item. - -Examples: - -```C# - -//Select all root items - -private VirtualizingTreeView m_treeView; - -void Start() -{ - m_treeView = GetComponent(); - - //..Initialization and data binding... - - m_treeView.SelectionChanged += OnSelectionChanged; - m_treeView.SelectedItems = m_treeView.Items; -} - -void OnDestroy() -{ - if(m_treeView != null) - { - m_treeView.SelectionChanged -= OnSelectionChanged; - } -} - -private void OnSelectionChanged(object sender, SelectionChangedArgs e) -{ - if(e.NewItems != null) - { - foreach(object item in e.NewItems) - { - Debug.Log(item); - } - } -} - -``` - -```C# -//Add children and expand selected items -public void Add() -{ - foreach (ExampleDataItem parent in m_treeView.SelectedItems) - { - ExampleDataItem item = new ExampleDataItem("New Item"); - parent.Children.Add(item); - item.Parent = parent; - - m_treeView.AddChild(parent, item); - m_treeView.Expand(parent); - } -} -``` - -```C# -//Collapse selected items -public void Collapse() -{ - foreach (DataItem selectedItem in TreeView.SelectedItems) - { - TreeView.Collapse(selectedItem); - } -} -``` - -```C# -//Expand selected items and their children -public void Expand() -{ - foreach(ExampleDataItem selectedItem in m_treeView.SelectedItems) - { - m_treeView.ExpandAll(selectedItem, item => item.Parent, item => item.Children); - } -} - -``` - -```C# -//Remove selected items -public void Remove() -{ - foreach (ExampleDataItem selectedItem in m_treeView.SelectedItems.OfType().ToArray()) - { - m_treeView.RemoveChild(selectedItem.Parent, selectedItem); - } -} -``` - -> [!NOTE] -> ExampleDataItem defined in [Getting Started](#getting-started) section. - - - - - -##Virtualizing Tree View Item -Structure: - -![Screenshot](~/resources/img/vtv/vtv-item/structure.png) - - -Prefab:
__/Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs/VirtualizingTreeViewItem__.
-Script:
__/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView/VirtualizingTreeViewItem.cs__. - -Fields: - - * `ItemPresenter` - normal mode ui. - * `EditorPresenter` - edit mode ui. - * `ItemLayout` - reference to LayoutElement. - - diff --git a/Docs/resources/ExampleManual.png b/Docs/resources/ExampleManual.png deleted file mode 100644 index 5cfff60..0000000 Binary files a/Docs/resources/ExampleManual.png and /dev/null differ diff --git a/Docs/resources/ExampleScriptingApi.png b/Docs/resources/ExampleScriptingApi.png deleted file mode 100644 index ce84165..0000000 Binary files a/Docs/resources/ExampleScriptingApi.png and /dev/null differ diff --git a/Docs/resources/css/extra.css b/Docs/resources/css/extra.css deleted file mode 100644 index c35d2ca..0000000 --- a/Docs/resources/css/extra.css +++ /dev/null @@ -1,11 +0,0 @@ -.linenos pre -{ - border:0px !important; - padding:0px !important; -} - -.code -{ - padding-left:0px !important; -} - diff --git a/Docs/resources/img/animation-editor/animation-editor.png b/Docs/resources/img/animation-editor/animation-editor.png deleted file mode 100644 index 4d67005..0000000 Binary files a/Docs/resources/img/animation-editor/animation-editor.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/dialog-manager/dialog-manager.png b/Docs/resources/img/dock-panels/dialog-manager/dialog-manager.png deleted file mode 100644 index 8463968..0000000 Binary files a/Docs/resources/img/dock-panels/dialog-manager/dialog-manager.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/dialog-manager/usage.png b/Docs/resources/img/dock-panels/dialog-manager/usage.png deleted file mode 100644 index d98505f..0000000 Binary files a/Docs/resources/img/dock-panels/dialog-manager/usage.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/dock-panel/structure.png b/Docs/resources/img/dock-panels/dock-panel/structure.png deleted file mode 100644 index 2ead5c9..0000000 Binary files a/Docs/resources/img/dock-panels/dock-panel/structure.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/get-started/create-dock-panel.png b/Docs/resources/img/dock-panels/get-started/create-dock-panel.png deleted file mode 100644 index 50f9fef..0000000 Binary files a/Docs/resources/img/dock-panels/get-started/create-dock-panel.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/get-started/get-started-result.png b/Docs/resources/img/dock-panels/get-started/get-started-result.png deleted file mode 100644 index a27eed0..0000000 Binary files a/Docs/resources/img/dock-panels/get-started/get-started-result.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/overview/dock-panels.png b/Docs/resources/img/dock-panels/overview/dock-panels.png deleted file mode 100644 index 12395ce..0000000 Binary files a/Docs/resources/img/dock-panels/overview/dock-panels.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/region/floating-region.png b/Docs/resources/img/dock-panels/region/floating-region.png deleted file mode 100644 index 029097b..0000000 Binary files a/Docs/resources/img/dock-panels/region/floating-region.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/region/region.png b/Docs/resources/img/dock-panels/region/region.png deleted file mode 100644 index 7771ada..0000000 Binary files a/Docs/resources/img/dock-panels/region/region.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/region/structure.png b/Docs/resources/img/dock-panels/region/structure.png deleted file mode 100644 index 0bebc2b..0000000 Binary files a/Docs/resources/img/dock-panels/region/structure.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/tab-preview/structure.png b/Docs/resources/img/dock-panels/tab-preview/structure.png deleted file mode 100644 index 77d306a..0000000 Binary files a/Docs/resources/img/dock-panels/tab-preview/structure.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/tab-preview/tab-preview.png b/Docs/resources/img/dock-panels/tab-preview/tab-preview.png deleted file mode 100644 index 438366b..0000000 Binary files a/Docs/resources/img/dock-panels/tab-preview/tab-preview.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/tab/structure.png b/Docs/resources/img/dock-panels/tab/structure.png deleted file mode 100644 index 648f46b..0000000 Binary files a/Docs/resources/img/dock-panels/tab/structure.png and /dev/null differ diff --git a/Docs/resources/img/dock-panels/tab/tab.png b/Docs/resources/img/dock-panels/tab/tab.png deleted file mode 100644 index 6b55140..0000000 Binary files a/Docs/resources/img/dock-panels/tab/tab.png and /dev/null differ diff --git a/Docs/resources/img/extensions/editor-extensions.png b/Docs/resources/img/extensions/editor-extensions.png deleted file mode 100644 index 698f5cd..0000000 Binary files a/Docs/resources/img/extensions/editor-extensions.png and /dev/null differ diff --git a/Docs/resources/img/extensions/getting-started1.png b/Docs/resources/img/extensions/getting-started1.png deleted file mode 100644 index a3d1a5f..0000000 Binary files a/Docs/resources/img/extensions/getting-started1.png and /dev/null differ diff --git a/Docs/resources/img/extensions/getting-started2.png b/Docs/resources/img/extensions/getting-started2.png deleted file mode 100644 index 3e87035..0000000 Binary files a/Docs/resources/img/extensions/getting-started2.png and /dev/null differ diff --git a/Docs/resources/img/extensions/overview.png b/Docs/resources/img/extensions/overview.png deleted file mode 100644 index 881210c..0000000 Binary files a/Docs/resources/img/extensions/overview.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtbuilder/standalone-demo.png b/Docs/resources/img/extensions/rtbuilder/standalone-demo.png deleted file mode 100644 index 729dbf5..0000000 Binary files a/Docs/resources/img/extensions/rtbuilder/standalone-demo.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtscripting/create-script.png b/Docs/resources/img/extensions/rtscripting/create-script.png deleted file mode 100644 index 014bd4b..0000000 Binary files a/Docs/resources/img/extensions/rtscripting/create-script.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtscripting/edit-script.png b/Docs/resources/img/extensions/rtscripting/edit-script.png deleted file mode 100644 index c34c6ce..0000000 Binary files a/Docs/resources/img/extensions/rtscripting/edit-script.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtscripting/unpack-rtscripting.png b/Docs/resources/img/extensions/rtscripting/unpack-rtscripting.png deleted file mode 100644 index 0160603..0000000 Binary files a/Docs/resources/img/extensions/rtscripting/unpack-rtscripting.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtterrain/terrain-editor-inspector.png b/Docs/resources/img/extensions/rtterrain/terrain-editor-inspector.png deleted file mode 100644 index 8464e01..0000000 Binary files a/Docs/resources/img/extensions/rtterrain/terrain-editor-inspector.png and /dev/null differ diff --git a/Docs/resources/img/extensions/rtterrain/terrain-editor.png b/Docs/resources/img/extensions/rtterrain/terrain-editor.png deleted file mode 100644 index 5270d70..0000000 Binary files a/Docs/resources/img/extensions/rtterrain/terrain-editor.png and /dev/null differ diff --git a/Docs/resources/img/favicon.ico b/Docs/resources/img/favicon.ico deleted file mode 100644 index 81d56e3..0000000 Binary files a/Docs/resources/img/favicon.ico and /dev/null differ diff --git a/Docs/resources/img/gizmos/audio-source-gizmo.png b/Docs/resources/img/gizmos/audio-source-gizmo.png deleted file mode 100644 index 78df086..0000000 Binary files a/Docs/resources/img/gizmos/audio-source-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/box-collider-gizmo.png b/Docs/resources/img/gizmos/box-collider-gizmo.png deleted file mode 100644 index c671e7e..0000000 Binary files a/Docs/resources/img/gizmos/box-collider-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/capsule-collider-gizmo.png b/Docs/resources/img/gizmos/capsule-collider-gizmo.png deleted file mode 100644 index 4ce41ab..0000000 Binary files a/Docs/resources/img/gizmos/capsule-collider-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/directional-light-gizmo.png b/Docs/resources/img/gizmos/directional-light-gizmo.png deleted file mode 100644 index 13856f3..0000000 Binary files a/Docs/resources/img/gizmos/directional-light-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/getting-started/getting-started.png b/Docs/resources/img/gizmos/getting-started/getting-started.png deleted file mode 100644 index b4f0d68..0000000 Binary files a/Docs/resources/img/gizmos/getting-started/getting-started.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/point-light-gizmo.png b/Docs/resources/img/gizmos/point-light-gizmo.png deleted file mode 100644 index 0477f1f..0000000 Binary files a/Docs/resources/img/gizmos/point-light-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/skinned-mesh-renderer-gizmo.png b/Docs/resources/img/gizmos/skinned-mesh-renderer-gizmo.png deleted file mode 100644 index be10f90..0000000 Binary files a/Docs/resources/img/gizmos/skinned-mesh-renderer-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/sphere-collider-gizmo.png b/Docs/resources/img/gizmos/sphere-collider-gizmo.png deleted file mode 100644 index 7613dc6..0000000 Binary files a/Docs/resources/img/gizmos/sphere-collider-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/gizmos/spot-light-gizmo.png b/Docs/resources/img/gizmos/spot-light-gizmo.png deleted file mode 100644 index f5a7f51..0000000 Binary files a/Docs/resources/img/gizmos/spot-light-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/hdrp-support/getting-started-1.png b/Docs/resources/img/hdrp-support/getting-started-1.png deleted file mode 100644 index aa0330f..0000000 Binary files a/Docs/resources/img/hdrp-support/getting-started-1.png and /dev/null differ diff --git a/Docs/resources/img/hdrp-support/getting-started-2.png b/Docs/resources/img/hdrp-support/getting-started-2.png deleted file mode 100644 index dd8cba9..0000000 Binary files a/Docs/resources/img/hdrp-support/getting-started-2.png and /dev/null differ diff --git a/Docs/resources/img/hdrp-support/getting-started-4.png b/Docs/resources/img/hdrp-support/getting-started-4.png deleted file mode 100644 index 03ea206..0000000 Binary files a/Docs/resources/img/hdrp-support/getting-started-4.png and /dev/null differ diff --git a/Docs/resources/img/hdrp-support/getting-started-5.png b/Docs/resources/img/hdrp-support/getting-started-5.png deleted file mode 100644 index 333ffa8..0000000 Binary files a/Docs/resources/img/hdrp-support/getting-started-5.png and /dev/null differ diff --git a/Docs/resources/img/hdrp-support/rthandles-hdrp-support.png b/Docs/resources/img/hdrp-support/rthandles-hdrp-support.png deleted file mode 100644 index 39eba6e..0000000 Binary files a/Docs/resources/img/hdrp-support/rthandles-hdrp-support.png and /dev/null differ diff --git a/Docs/resources/img/infrastructure/expose-to-editor/expose-to-editor.png b/Docs/resources/img/infrastructure/expose-to-editor/expose-to-editor.png deleted file mode 100644 index d26a038..0000000 Binary files a/Docs/resources/img/infrastructure/expose-to-editor/expose-to-editor.png and /dev/null differ diff --git a/Docs/resources/img/menu/context-menu-trigger/context-menu-trigger.png b/Docs/resources/img/menu/context-menu-trigger/context-menu-trigger.png deleted file mode 100644 index 91a604d..0000000 Binary files a/Docs/resources/img/menu/context-menu-trigger/context-menu-trigger.png and /dev/null differ diff --git a/Docs/resources/img/menu/context-menu-trigger/context-menu.png b/Docs/resources/img/menu/context-menu-trigger/context-menu.png deleted file mode 100644 index 29a7153..0000000 Binary files a/Docs/resources/img/menu/context-menu-trigger/context-menu.png and /dev/null differ diff --git a/Docs/resources/img/menu/get-started/results.png b/Docs/resources/img/menu/get-started/results.png deleted file mode 100644 index 701e96f..0000000 Binary files a/Docs/resources/img/menu/get-started/results.png and /dev/null differ diff --git a/Docs/resources/img/menu/get-started/set-event-handlers.png b/Docs/resources/img/menu/get-started/set-event-handlers.png deleted file mode 100644 index 19b336d..0000000 Binary files a/Docs/resources/img/menu/get-started/set-event-handlers.png and /dev/null differ diff --git a/Docs/resources/img/menu/get-started/set-menu-field.png b/Docs/resources/img/menu/get-started/set-menu-field.png deleted file mode 100644 index b02b5f5..0000000 Binary files a/Docs/resources/img/menu/get-started/set-menu-field.png and /dev/null differ diff --git a/Docs/resources/img/menu/menu-item/structure.png b/Docs/resources/img/menu/menu-item/structure.png deleted file mode 100644 index 2e3d41b..0000000 Binary files a/Docs/resources/img/menu/menu-item/structure.png and /dev/null differ diff --git a/Docs/resources/img/menu/menu/structure.png b/Docs/resources/img/menu/menu/structure.png deleted file mode 100644 index 5bc754c..0000000 Binary files a/Docs/resources/img/menu/menu/structure.png and /dev/null differ diff --git a/Docs/resources/img/menu/overview/menu.png b/Docs/resources/img/menu/overview/menu.png deleted file mode 100644 index 909f68e..0000000 Binary files a/Docs/resources/img/menu/overview/menu.png and /dev/null differ diff --git a/Docs/resources/img/rendering/layers-used-by-runtime-editor.png b/Docs/resources/img/rendering/layers-used-by-runtime-editor.png deleted file mode 100644 index 04582f4..0000000 Binary files a/Docs/resources/img/rendering/layers-used-by-runtime-editor.png and /dev/null differ diff --git a/Docs/resources/img/rendering/runtime-graphics-layer.png b/Docs/resources/img/rendering/runtime-graphics-layer.png deleted file mode 100644 index 420e822..0000000 Binary files a/Docs/resources/img/rendering/runtime-graphics-layer.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/change-colors/rte-appearance.png b/Docs/resources/img/rteditor/change-colors/rte-appearance.png deleted file mode 100644 index 55087e7..0000000 Binary files a/Docs/resources/img/rteditor/change-colors/rte-appearance.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/change-colors/rte-resources.png b/Docs/resources/img/rteditor/change-colors/rte-resources.png deleted file mode 100644 index 92a4ccf..0000000 Binary files a/Docs/resources/img/rteditor/change-colors/rte-resources.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/editors-config/config-window.png b/Docs/resources/img/rteditor/editors-config/config-window.png deleted file mode 100644 index 2119402..0000000 Binary files a/Docs/resources/img/rteditor/editors-config/config-window.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/editors-config/open-config-window.png b/Docs/resources/img/rteditor/editors-config/open-config-window.png deleted file mode 100644 index 04d74bd..0000000 Binary files a/Docs/resources/img/rteditor/editors-config/open-config-window.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/file-importers/menu-item.png b/Docs/resources/img/rteditor/file-importers/menu-item.png deleted file mode 100644 index 89a0645..0000000 Binary files a/Docs/resources/img/rteditor/file-importers/menu-item.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/file-importers/rtimporter-package.png b/Docs/resources/img/rteditor/file-importers/rtimporter-package.png deleted file mode 100644 index a92ca23..0000000 Binary files a/Docs/resources/img/rteditor/file-importers/rtimporter-package.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/after-import.png b/Docs/resources/img/rteditor/get-started/after-import.png deleted file mode 100644 index 95a3b6d..0000000 Binary files a/Docs/resources/img/rteditor/get-started/after-import.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/build-all.png b/Docs/resources/img/rteditor/get-started/build-all.png deleted file mode 100644 index 4aeeb4d..0000000 Binary files a/Docs/resources/img/rteditor/get-started/build-all.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/create-runtime-editor.png b/Docs/resources/img/rteditor/get-started/create-runtime-editor.png deleted file mode 100644 index 2b858df..0000000 Binary files a/Docs/resources/img/rteditor/get-started/create-runtime-editor.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/delete-rtsl-data.png b/Docs/resources/img/rteditor/get-started/delete-rtsl-data.png deleted file mode 100644 index 047a398..0000000 Binary files a/Docs/resources/img/rteditor/get-started/delete-rtsl-data.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/expose-to-editor.png b/Docs/resources/img/rteditor/get-started/expose-to-editor.png deleted file mode 100644 index ed31bff..0000000 Binary files a/Docs/resources/img/rteditor/get-started/expose-to-editor.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/file-import-assets.png b/Docs/resources/img/rteditor/get-started/file-import-assets.png deleted file mode 100644 index e27b7c2..0000000 Binary files a/Docs/resources/img/rteditor/get-started/file-import-assets.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/game-view-camera.png b/Docs/resources/img/rteditor/get-started/game-view-camera.png deleted file mode 100644 index 8c57dbc..0000000 Binary files a/Docs/resources/img/rteditor/get-started/game-view-camera.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/import-assets.png b/Docs/resources/img/rteditor/get-started/import-assets.png deleted file mode 100644 index e221475..0000000 Binary files a/Docs/resources/img/rteditor/get-started/import-assets.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/rteditor-demo-scene.png b/Docs/resources/img/rteditor/get-started/rteditor-demo-scene.png deleted file mode 100644 index 795dd28..0000000 Binary files a/Docs/resources/img/rteditor/get-started/rteditor-demo-scene.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/runtime-editor.png b/Docs/resources/img/rteditor/get-started/runtime-editor.png deleted file mode 100644 index 11b18fa..0000000 Binary files a/Docs/resources/img/rteditor/get-started/runtime-editor.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/select-asset-library.png b/Docs/resources/img/rteditor/get-started/select-asset-library.png deleted file mode 100644 index 948ec73..0000000 Binary files a/Docs/resources/img/rteditor/get-started/select-asset-library.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/show-me-examples.png b/Docs/resources/img/rteditor/get-started/show-me-examples.png deleted file mode 100644 index 821e7e5..0000000 Binary files a/Docs/resources/img/rteditor/get-started/show-me-examples.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/get-started/use-buitin-rp-asset.png b/Docs/resources/img/rteditor/get-started/use-buitin-rp-asset.png deleted file mode 100644 index 488cb49..0000000 Binary files a/Docs/resources/img/rteditor/get-started/use-buitin-rp-asset.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/inspector-view/property-editors.png b/Docs/resources/img/rteditor/inspector-view/property-editors.png deleted file mode 100644 index 953c5fb..0000000 Binary files a/Docs/resources/img/rteditor/inspector-view/property-editors.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/inspector-view/structure.png b/Docs/resources/img/rteditor/inspector-view/structure.png deleted file mode 100644 index c08efb3..0000000 Binary files a/Docs/resources/img/rteditor/inspector-view/structure.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/menu/context-menu.png b/Docs/resources/img/rteditor/menu/context-menu.png deleted file mode 100644 index c4e8a23..0000000 Binary files a/Docs/resources/img/rteditor/menu/context-menu.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/menu/main-menu.png b/Docs/resources/img/rteditor/menu/main-menu.png deleted file mode 100644 index 598511f..0000000 Binary files a/Docs/resources/img/rteditor/menu/main-menu.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/menu/my-context-menu.png b/Docs/resources/img/rteditor/menu/my-context-menu.png deleted file mode 100644 index 160001c..0000000 Binary files a/Docs/resources/img/rteditor/menu/my-context-menu.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/overview/overview.png b/Docs/resources/img/rteditor/overview/overview.png deleted file mode 100644 index bb38580..0000000 Binary files a/Docs/resources/img/rteditor/overview/overview.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/overview/use-legacy-builtin-windows.png b/Docs/resources/img/rteditor/overview/use-legacy-builtin-windows.png deleted file mode 100644 index 8faad8d..0000000 Binary files a/Docs/resources/img/rteditor/overview/use-legacy-builtin-windows.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/custom-window-created.png b/Docs/resources/img/rteditor/window-manager/custom-window-created.png deleted file mode 100644 index 8c2615e..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/custom-window-created.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/custom-window-menu.png b/Docs/resources/img/rteditor/window-manager/custom-window-menu.png deleted file mode 100644 index c0ddb6a..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/custom-window-menu.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/custom-window.png b/Docs/resources/img/rteditor/window-manager/custom-window.png deleted file mode 100644 index 2a9a043..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/custom-window.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/layout-override-result.png b/Docs/resources/img/rteditor/window-manager/layout-override-result.png deleted file mode 100644 index d2359fe..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/layout-override-result.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/layout-override.png b/Docs/resources/img/rteditor/window-manager/layout-override.png deleted file mode 100644 index 2a4df39..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/layout-override.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/tools-override-result.png b/Docs/resources/img/rteditor/window-manager/tools-override-result.png deleted file mode 100644 index f5146a0..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/tools-override-result.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/tools-override.png b/Docs/resources/img/rteditor/window-manager/tools-override.png deleted file mode 100644 index 08ded96..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/tools-override.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/ui-scale-after-override.png b/Docs/resources/img/rteditor/window-manager/ui-scale-after-override.png deleted file mode 100644 index f730f7a..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/ui-scale-after-override.png and /dev/null differ diff --git a/Docs/resources/img/rteditor/window-manager/ui-scale-before-override.png b/Docs/resources/img/rteditor/window-manager/ui-scale-before-override.png deleted file mode 100644 index 4432f14..0000000 Binary files a/Docs/resources/img/rteditor/window-manager/ui-scale-before-override.png and /dev/null differ diff --git a/Docs/resources/img/save-load/asset-libraries/create-asset-library.png b/Docs/resources/img/save-load/asset-libraries/create-asset-library.png deleted file mode 100644 index 5e332b0..0000000 Binary files a/Docs/resources/img/save-load/asset-libraries/create-asset-library.png and /dev/null differ diff --git a/Docs/resources/img/save-load/asset-libraries/populate-asset-library.png b/Docs/resources/img/save-load/asset-libraries/populate-asset-library.png deleted file mode 100644 index dd038ce..0000000 Binary files a/Docs/resources/img/save-load/asset-libraries/populate-asset-library.png and /dev/null differ diff --git a/Docs/resources/img/save-load/asset-libraries/special-asset-libraries.png b/Docs/resources/img/save-load/asset-libraries/special-asset-libraries.png deleted file mode 100644 index 655cae3..0000000 Binary files a/Docs/resources/img/save-load/asset-libraries/special-asset-libraries.png and /dev/null differ diff --git a/Docs/resources/img/save-load/asset-libraries/synchronize-asset-library.png b/Docs/resources/img/save-load/asset-libraries/synchronize-asset-library.png deleted file mode 100644 index b4ff921..0000000 Binary files a/Docs/resources/img/save-load/asset-libraries/synchronize-asset-library.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/collect-scene-dependencies.png b/Docs/resources/img/save-load/get-started/collect-scene-dependencies.png deleted file mode 100644 index 71c9acb..0000000 Binary files a/Docs/resources/img/save-load/get-started/collect-scene-dependencies.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/config-window.png b/Docs/resources/img/save-load/get-started/config-window.png deleted file mode 100644 index ec1e5dc..0000000 Binary files a/Docs/resources/img/save-load/get-started/config-window.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/demo.png b/Docs/resources/img/save-load/get-started/demo.png deleted file mode 100644 index 7f9e332..0000000 Binary files a/Docs/resources/img/save-load/get-started/demo.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/demo2.png b/Docs/resources/img/save-load/get-started/demo2.png deleted file mode 100644 index 24d6136..0000000 Binary files a/Docs/resources/img/save-load/get-started/demo2.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/folders.png b/Docs/resources/img/save-load/get-started/folders.png deleted file mode 100644 index bbd058b..0000000 Binary files a/Docs/resources/img/save-load/get-started/folders.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/game-prefab.png b/Docs/resources/img/save-load/get-started/game-prefab.png deleted file mode 100644 index 1caeb33..0000000 Binary files a/Docs/resources/img/save-load/get-started/game-prefab.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/project.png b/Docs/resources/img/save-load/get-started/project.png deleted file mode 100644 index b27f511..0000000 Binary files a/Docs/resources/img/save-load/get-started/project.png and /dev/null differ diff --git a/Docs/resources/img/save-load/get-started/savedscene.png b/Docs/resources/img/save-load/get-started/savedscene.png deleted file mode 100644 index 3a99739..0000000 Binary files a/Docs/resources/img/save-load/get-started/savedscene.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/create-custom-implementation.png b/Docs/resources/img/save-load/persistent-classes/create-custom-implementation.png deleted file mode 100644 index 83aec8a..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/create-custom-implementation.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/custom-implementation-folder.png b/Docs/resources/img/save-load/persistent-classes/custom-implementation-folder.png deleted file mode 100644 index bd63edf..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/custom-implementation-folder.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/edit-custom-implementation.png b/Docs/resources/img/save-load/persistent-classes/edit-custom-implementation.png deleted file mode 100644 index 3eb2459..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/edit-custom-implementation.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/editor.png b/Docs/resources/img/save-load/persistent-classes/editor.png deleted file mode 100644 index 8f0f4eb..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/editor.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/mappings-folder.png b/Docs/resources/img/save-load/persistent-classes/mappings-folder.png deleted file mode 100644 index 1e26134..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/mappings-folder.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png b/Docs/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png deleted file mode 100644 index e63f244..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png and /dev/null differ diff --git a/Docs/resources/img/save-load/persistent-classes/persistent-classes-folder.png b/Docs/resources/img/save-load/persistent-classes/persistent-classes-folder.png deleted file mode 100644 index 0270a31..0000000 Binary files a/Docs/resources/img/save-load/persistent-classes/persistent-classes-folder.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/box-selection/create-box-selection.png b/Docs/resources/img/transform-handels/box-selection/create-box-selection.png deleted file mode 100644 index 736c389..0000000 Binary files a/Docs/resources/img/transform-handels/box-selection/create-box-selection.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/getting-started/step1-create-transform-handles.png b/Docs/resources/img/transform-handels/getting-started/step1-create-transform-handles.png deleted file mode 100644 index aed391c..0000000 Binary files a/Docs/resources/img/transform-handels/getting-started/step1-create-transform-handles.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/getting-started/step2-create-object.png b/Docs/resources/img/transform-handels/getting-started/step2-create-object.png deleted file mode 100644 index 56a6677..0000000 Binary files a/Docs/resources/img/transform-handels/getting-started/step2-create-object.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/getting-started/step3-enable-editing.png b/Docs/resources/img/transform-handels/getting-started/step3-enable-editing.png deleted file mode 100644 index 297359e..0000000 Binary files a/Docs/resources/img/transform-handels/getting-started/step3-enable-editing.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/getting-started/step4-hit-play.png b/Docs/resources/img/transform-handels/getting-started/step4-hit-play.png deleted file mode 100644 index 2a846b1..0000000 Binary files a/Docs/resources/img/transform-handels/getting-started/step4-hit-play.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/grid/scene-grid.png b/Docs/resources/img/transform-handels/grid/scene-grid.png deleted file mode 100644 index 8836c77..0000000 Binary files a/Docs/resources/img/transform-handels/grid/scene-grid.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png b/Docs/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png deleted file mode 100644 index 97a6e6e..0000000 Binary files a/Docs/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/overview/all-in-one.png b/Docs/resources/img/transform-handels/overview/all-in-one.png deleted file mode 100644 index a968271..0000000 Binary files a/Docs/resources/img/transform-handels/overview/all-in-one.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/overview/overview.png b/Docs/resources/img/transform-handels/overview/overview.png deleted file mode 100644 index a8d64c0..0000000 Binary files a/Docs/resources/img/transform-handels/overview/overview.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/position-handle/create-position-handle.png b/Docs/resources/img/transform-handels/position-handle/create-position-handle.png deleted file mode 100644 index 0a10e26..0000000 Binary files a/Docs/resources/img/transform-handels/position-handle/create-position-handle.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png b/Docs/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png deleted file mode 100644 index 1a9f8af..0000000 Binary files a/Docs/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/position-handle/set-model-field.png b/Docs/resources/img/transform-handels/position-handle/set-model-field.png deleted file mode 100644 index 5af49c7..0000000 Binary files a/Docs/resources/img/transform-handels/position-handle/set-model-field.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/rotation-handle/create-rotation-handle.png b/Docs/resources/img/transform-handels/rotation-handle/create-rotation-handle.png deleted file mode 100644 index b9ec37e..0000000 Binary files a/Docs/resources/img/transform-handels/rotation-handle/create-rotation-handle.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png b/Docs/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png deleted file mode 100644 index 4bf7a15..0000000 Binary files a/Docs/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/rotation-handle/set-model-field.png b/Docs/resources/img/transform-handels/rotation-handle/set-model-field.png deleted file mode 100644 index 2768a35..0000000 Binary files a/Docs/resources/img/transform-handels/rotation-handle/set-model-field.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png b/Docs/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png deleted file mode 100644 index 29d6fed..0000000 Binary files a/Docs/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png b/Docs/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png deleted file mode 100644 index 6427f50..0000000 Binary files a/Docs/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png b/Docs/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png deleted file mode 100644 index 82508e9..0000000 Binary files a/Docs/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/scale-handle/create-scale-handle.png b/Docs/resources/img/transform-handels/scale-handle/create-scale-handle.png deleted file mode 100644 index 31d1d78..0000000 Binary files a/Docs/resources/img/transform-handels/scale-handle/create-scale-handle.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png b/Docs/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png deleted file mode 100644 index fd84a08..0000000 Binary files a/Docs/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/scale-handle/set-model-field.png b/Docs/resources/img/transform-handels/scale-handle/set-model-field.png deleted file mode 100644 index 45ce334..0000000 Binary files a/Docs/resources/img/transform-handels/scale-handle/set-model-field.png and /dev/null differ diff --git a/Docs/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png b/Docs/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png deleted file mode 100644 index f0058be..0000000 Binary files a/Docs/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png and /dev/null differ diff --git a/Docs/resources/img/urp-support/getting-started-1.png b/Docs/resources/img/urp-support/getting-started-1.png deleted file mode 100644 index e304398..0000000 Binary files a/Docs/resources/img/urp-support/getting-started-1.png and /dev/null differ diff --git a/Docs/resources/img/urp-support/getting-started-2.png b/Docs/resources/img/urp-support/getting-started-2.png deleted file mode 100644 index 69e500a..0000000 Binary files a/Docs/resources/img/urp-support/getting-started-2.png and /dev/null differ diff --git a/Docs/resources/img/urp-support/getting-started-4.png b/Docs/resources/img/urp-support/getting-started-4.png deleted file mode 100644 index a90b52e..0000000 Binary files a/Docs/resources/img/urp-support/getting-started-4.png and /dev/null differ diff --git a/Docs/resources/img/urp-support/getting-started-5.png b/Docs/resources/img/urp-support/getting-started-5.png deleted file mode 100644 index 333ffa8..0000000 Binary files a/Docs/resources/img/urp-support/getting-started-5.png and /dev/null differ diff --git a/Docs/resources/img/urp-support/rthandles-urp-support.png b/Docs/resources/img/urp-support/rthandles-urp-support.png deleted file mode 100644 index 5724b12..0000000 Binary files a/Docs/resources/img/urp-support/rthandles-urp-support.png and /dev/null differ diff --git a/Docs/resources/img/vtv/get-started/get-started.png b/Docs/resources/img/vtv/get-started/get-started.png deleted file mode 100644 index 58f46f4..0000000 Binary files a/Docs/resources/img/vtv/get-started/get-started.png and /dev/null differ diff --git a/Docs/resources/img/vtv/item-drop-marker/item-drop-marker.png b/Docs/resources/img/vtv/item-drop-marker/item-drop-marker.png deleted file mode 100644 index 3e9f148..0000000 Binary files a/Docs/resources/img/vtv/item-drop-marker/item-drop-marker.png and /dev/null differ diff --git a/Docs/resources/img/vtv/overview/vtv.png b/Docs/resources/img/vtv/overview/vtv.png deleted file mode 100644 index 8c9693a..0000000 Binary files a/Docs/resources/img/vtv/overview/vtv.png and /dev/null differ diff --git a/Docs/resources/img/vtv/vtv-item/structure.png b/Docs/resources/img/vtv/vtv-item/structure.png deleted file mode 100644 index 75ea399..0000000 Binary files a/Docs/resources/img/vtv/vtv-item/structure.png and /dev/null differ diff --git a/Docs/resources/img/vtv/vtv/structure.png b/Docs/resources/img/vtv/vtv/structure.png deleted file mode 100644 index f5c4566..0000000 Binary files a/Docs/resources/img/vtv/vtv/structure.png and /dev/null differ diff --git a/Docs/toc.yml b/Docs/toc.yml deleted file mode 100644 index af46662..0000000 --- a/Docs/toc.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Manual - href: manual/ -- name: Scripting API - href: api/ \ No newline at end of file diff --git a/_site/api/Battlehub.RTCommon.IOC.html b/_site/api/Battlehub.RTCommon.IOC.html deleted file mode 100644 index 913266d..0000000 --- a/_site/api/Battlehub.RTCommon.IOC.html +++ /dev/null @@ -1,1017 +0,0 @@ - - - - - - - - Class IOC - | Example Unity documentation - - - - - - - - - - - - - - -
-
- - - - -
-
- -
-
Search Results for
-
-

-
-
    -
    -
    - - -
    -
    - -
    -
    - - - - - - diff --git a/_site/api/Battlehub.RTCommon.html b/_site/api/Battlehub.RTCommon.html deleted file mode 100644 index 69e50db..0000000 --- a/_site/api/Battlehub.RTCommon.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - Namespace Battlehub.RTCommon - | Example Unity documentation - - - - - - - - - - - - - - -
    -
    - - - - -
    -
    - -
    -
    Search Results for
    -
    -

    -
    -
      -
      -
      - - -
      -
      - -
      -
      - - - - - - diff --git a/_site/api/Battlehub.RTEditor.IWindowManager.html b/_site/api/Battlehub.RTEditor.IWindowManager.html deleted file mode 100644 index 2cd0fb9..0000000 --- a/_site/api/Battlehub.RTEditor.IWindowManager.html +++ /dev/null @@ -1,3602 +0,0 @@ - - - - - - - - Interface IWindowManager - | Example Unity documentation - - - - - - - - - - - - - - -
      -
      - - - - -
      -
      - -
      -
      Search Results for
      -
      -

      -
      -
        -
        -
        - - -
        -
        - -
        -
        - - - - - - diff --git a/_site/api/Battlehub.RTEditor.html b/_site/api/Battlehub.RTEditor.html deleted file mode 100644 index 6778560..0000000 --- a/_site/api/Battlehub.RTEditor.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Namespace Battlehub.RTEditor - | Example Unity documentation - - - - - - - - - - - - - - -
        -
        - - - - -
        -
        - -
        -
        Search Results for
        -
        -

        -
        -
          -
          -
          - - -
          -
          - -
          -
          - - - - - - diff --git a/_site/api/toc.html b/_site/api/toc.html deleted file mode 100644 index 44a598c..0000000 --- a/_site/api/toc.html +++ /dev/null @@ -1,39 +0,0 @@ - -
          -
          -
          -
          - - - -
          -
          -
          -
          - - -
          -
          -
          -
          \ No newline at end of file diff --git a/_site/favicon.ico b/_site/favicon.ico deleted file mode 100644 index 81d56e3..0000000 Binary files a/_site/favicon.ico and /dev/null differ diff --git a/_site/index.html b/_site/index.html deleted file mode 100644 index 990a480..0000000 --- a/_site/index.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - Runtime Editor Docs | Example Unity documentation - - - - - - - - - - - - - - -
          -
          - - - - -
          -
          - -
          -
          Search Results for
          -
          -

          -
          -
            -
            -
            - - -
            -
            - -
            -
            - - - - - - diff --git a/_site/index.json b/_site/index.json deleted file mode 100644 index 7cb663a..0000000 --- a/_site/index.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "api/Battlehub.RTCommon.IOC.html": { - "href": "api/Battlehub.RTCommon.IOC.html", - "title": "Class IOC | Example Unity documentation", - "keywords": "Class IOC Simple IoC container implementation. Inheritance Object IOC Namespace: Battlehub.RTCommon Assembly: cs.temp.dll.dll Syntax public static class IOC Methods ClearAll() Clears container and removes all registered dependencies and fallbacks Declaration public static void ClearAll() IsFallbackRegistered() Checks if a fallback dependency of type is registered. Declaration public static bool IsFallbackRegistered() Returns Type Description Boolean True if fallback dependency of type with name registered. Type Parameters Name Description T Type of fallback dependency. IsRegistered() Checks if a dependency of type is registered. Declaration public static bool IsRegistered() Returns Type Description Boolean True if dependency of type with name registered. Type Parameters Name Description T Type of dependency. IsRegistered(String) Checks if a named dependency of type is registered. Declaration public static bool IsRegistered(string name) Parameters Type Name Description String name Name of dependency. Returns Type Description Boolean True if dependency of type with name registered. Type Parameters Name Description T Type of dependency. Register(T) Registers dependency of type. Declaration public static void Register(T instance) Parameters Type Name Description T instance Instance of type. Type Parameters Name Description T Type of dependency. Register(Func) Registers dependency of type. Declaration public static void Register(Func func) Parameters Type Name Description Func func Function which constructs object of type. Type Parameters Name Description T Type of dependency. Register(String, T) Registers named dependency of type. Declaration public static void Register(string name, T instance) Parameters Type Name Description String name Name of dependency. T instance Instance of type. Type Parameters Name Description T Type of dependency. Register(String, Func) Registers named dependency of type. Declaration public static void Register(string name, Func func) Parameters Type Name Description String name Name of dependency. Func func Function which constructs object of type. Type Parameters Name Description T Type of dependency. RegisterFallback(T) Registers fallback dependency of type. Declaration public static void RegisterFallback(T instance) Parameters Type Name Description T instance Instance of type. Type Parameters Name Description T Type of fallback dependency. RegisterFallback(Func) Registers fallback dependency of type. Declaration public static void RegisterFallback(Func func) Parameters Type Name Description Func func Function which constructs object of type. Type Parameters Name Description T Type of fallback dependency. Resolve() Resolves dependency or fallback dependency of type. Declaration public static T Resolve() Returns Type Description T Object of type (or null if dependency of type is not registered) Type Parameters Name Description T Type of dependency. Resolve(String) Resolves named dependency or fallback dependency of type. Declaration public static T Resolve(string name) Parameters Type Name Description String name Name of dependency. Returns Type Description T Object of type (or null if dependency of type is not registered) Type Parameters Name Description T Type of dependency. Unregister() Unregisters dependency of type. Declaration public static void Unregister() Type Parameters Name Description T Unregister(T) Unregisters dependency of type. Declaration public static void Unregister(T instance) Parameters Type Name Description T instance Instance which was passed to Register method. Type Parameters Name Description T Type of dependency. Unregister(Func) Unregisters dependency of type. Declaration public static void Unregister(Func func) Parameters Type Name Description Func func Function which was passed to Register method. Type Parameters Name Description T Type of dependency. Unregister(String, T) Unregisters named dependency of type Declaration public static void Unregister(string name, T instance) Parameters Type Name Description String name Name of dependency T instance Instance which was passed to Register method. Type Parameters Name Description T Type of dependency Unregister(String, Func) Unregisters named dependency of type. Declaration public static void Unregister(string name, Func func) Parameters Type Name Description String name Name of dependency. Func func Function which was passed to Register method. Type Parameters Name Description T Type of dependency. UnregisterFallback() Unregisters fallback dependency of type. Declaration public static void UnregisterFallback() Type Parameters Name Description T Type of fallback dependency. UnregisterFallback(T) Unregisters fallback dependency of type. Declaration public static void UnregisterFallback(T instance) Parameters Type Name Description T instance Type Parameters Name Description T Type of fallback dependency. UnregisterFallback(Func) Unregisters fallback dependency of type. Declaration public static void UnregisterFallback(Func func) Parameters Type Name Description Func func Function which was passed to RegisterFallback method. Type Parameters Name Description T Type of fallback dependency." - }, - "api/Battlehub.RTCommon.html": { - "href": "api/Battlehub.RTCommon.html", - "title": "Namespace Battlehub.RTCommon | Example Unity documentation", - "keywords": "Namespace Battlehub.RTCommon Classes IOC Simple IoC container implementation." - }, - "api/Battlehub.RTEditor.IWindowManager.html": { - "href": "api/Battlehub.RTEditor.IWindowManager.html", - "title": "Interface IWindowManager | Example Unity documentation", - "keywords": "Interface IWindowManager The window manager allows you to create complex windows, such as an inspector or scene, and simple dialogs, such as a message or confirmation window. The difference between a dialog and a window is quite subtle.The content of a dialog can be anything and it cannot be docked. To be considered a window or dialog box, a RuntimeWindow component must be attached to the game object. When RuntimeWindow is activated, other windows are deactivated. A dialog cannot deactivate a window. Namespace: Battlehub.RTEditor Assembly: cs.temp.dll.dll Syntax public interface IWindowManager Properties ActiveWorkspace IWindowManager can be used to work with multiple workspaces. Declaration Workspace ActiveWorkspace { get; set; } Property Value Type Description Workspace ComponentsRoot The root transform for additional window components. Each window can have one or more additional components that must not have UI Canvas as a parent. Declaration Transform ComponentsRoot { get; } Property Value Type Description Transform DefaultPersistentLayoutName Declaration string DefaultPersistentLayoutName { get; } Property Value Type Description String IsDialogOpened Returns true if dialog opened. Declaration bool IsDialogOpened { get; } Property Value Type Description Boolean PopupRoot Root panel for popups and floating windows. Declaration RectTransform PopupRoot { get; } Property Value Type Description RectTransform Methods ActivateWindow(String) Activates window of type. Declaration bool ActivateWindow(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Boolean True if the window is activated. ActivateWindow(Transform) Activates window of type. Declaration bool ActivateWindow(Transform content) Parameters Type Name Description Transform content Returns Type Description Boolean True if the window is activated. Confirmation(Sprite, String, String, DialogAction, DialogAction, DialogAction, String, String, String) Creates 3 button confirmation dialog. Declaration void Confirmation(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, DialogAction alt, string okText = \"OK\", string cancelText = \"Cancel\", string altText = \"Close\") Parameters Type Name Description Sprite icon Header icon. String header Header text. String text Message text. DialogAction ok Ok action. DialogAction cancel Cancel action. DialogAction alt Alternative action. String okText Ok button text. String cancelText Cancel button text. String altText Alternative button text. Confirmation(Sprite, String, String, DialogAction, DialogAction, String, String) Creates confirmation dialog. Declaration void Confirmation(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\") Parameters Type Name Description Sprite icon Header icon. String header Header text. String text Mesasge text. DialogAction ok Ok action. DialogAction cancel Cancel action. String okText Ok button text. String cancelText Cancel button text. Confirmation(String, String, DialogAction, DialogAction, DialogAction, String, String, String) Creates 3 button confirmation dialog. Declaration void Confirmation(string header, string text, DialogAction ok, DialogAction cancel, DialogAction alt, string okText = \"OK\", string cancelText = \"Cancel\", string altText = \"Close\") Parameters Type Name Description String header Header text. String text Message text. DialogAction ok Ok action. DialogAction cancel Cancel action. DialogAction alt Alternative action. String okText Ok button text. String cancelText Cancel button text. String altText Alternative button text. Confirmation(String, String, DialogAction, DialogAction, String, String) Creates confirmation dialog. Declaration void Confirmation(string header, string text, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\") Parameters Type Name Description String header Header text. String text Message text. DialogAction ok Ok action. DialogAction cancel Cancel action. String okText Ok button text. String cancelText Cancel button text. CopyTransform(Transform, Transform) Copies source window transform to target window transform. Declaration void CopyTransform(Transform targetConent, Transform sourceContent) Parameters Type Name Description Transform targetConent Target window transform. Transform sourceContent Source window transform. CreateDialogWindow(String, String, DialogAction, DialogAction, Boolean, Single, Single) Creates dialog window. Declaration Transform CreateDialogWindow(string windowTypeName, string header, DialogAction okAction, DialogAction cancelAction, bool canResize, float minWidth = 50F, float minHeight = 50F) Parameters Type Name Description String windowTypeName Window type name. String header Dialog header text. DialogAction okAction The action to take when the OK button is clicked. DialogAction cancelAction The action to take when the Cancel button is clicked. Boolean canResize True to be able to resize the dialog. Single minWidth Minimum width of the pop-up window. Single minHeight Minimum height of the pop-up window. Returns Type Description Transform CreateDialogWindow(String, String, DialogAction, DialogAction, Single, Single, Single, Single, Boolean) Creates dialog window. Declaration Transform CreateDialogWindow(string windowTypeName, string header, DialogAction okAction = null, DialogAction cancelAction = null, float minWidth = 250F, float minHeight = 250F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) Parameters Type Name Description String windowTypeName Window type name. String header Dialog header text. DialogAction okAction The action to take when the OK button is clicked. DialogAction cancelAction he action to take when the Cancel button is clicked. Single minWidth Minimum width of the pop-up window. Single minHeight Minimum height of the pop-up window. Single preferredWidth Perferred width of the pop-up window. Single preferredHeight Perferred height of the pop-up window. Boolean canResize True to be able to resize the dialog. Returns Type Description Transform CreateDropdown(String, RectTransform, Boolean, Single, Single) Creates dropdown window of type. Declaration Transform CreateDropdown(string windowTypeName, RectTransform anchor, bool canResize = false, float minWidth = 10F, float minHeight = 10F) Parameters Type Name Description String windowTypeName Window type name. RectTransform anchor The RectTransform of dropdown anchor. Boolean canResize True to be able to resize the dropdown. Single minWidth Minimum width of the pop-up window. Single minHeight Minimum height of the pop-up window. Returns Type Description Transform CreateLayoutInfo(String) Creates a LayoutInfo object for the window of windowTypeName (creates a window as a side effect). This function and its overrides should be used when creating different \"layouts\". See BuiltInWindowNames for common window type names. Declaration LayoutInfo CreateLayoutInfo(string windowTypeName) Parameters Type Name Description String windowTypeName Type of window to be created Returns Type Description LayoutInfo LayoutInfo. CreateLayoutInfo(String, String) Creates a LayoutInfo object for the window of windowTypeName (creates a window as a side effect). Declaration LayoutInfo CreateLayoutInfo(string windowTypeName, string args) Parameters Type Name Description String windowTypeName Type of window to be created. String args Optional arguments can be obtained using the RuntimeWindow.Args property. Returns Type Description LayoutInfo LayoutInfo. CreateLayoutInfo(Transform, WindowDescriptor) Creates a LayoutInfo object for the window (creates a window as a side effect). Declaration LayoutInfo CreateLayoutInfo(Transform content, WindowDescriptor desc) Parameters Type Name Description Transform content Transform of the window. WindowDescriptor desc Object that describes an icon, a header, a tab and provides information about how many windows of that type can be created. Returns Type Description LayoutInfo LayoutInfo. CreateLayoutInfo(Transform, String, Sprite) Creates a LayoutInfo object for the window (creates a window as a side effect). Declaration LayoutInfo CreateLayoutInfo(Transform content, string header, Sprite icon) Parameters Type Name Description Transform content Transform of the window. String header Header text. Sprite icon Header icon. Returns Type Description LayoutInfo LayoutInfo. CreatePopup(String, Boolean, Single, Single) Creates popup window of type. Declaration Transform CreatePopup(string windowTypeName, bool canResize = false, float minWidth = 10F, float minHeight = 10F) Parameters Type Name Description String windowTypeName Window type name. Boolean canResize True to be able to resize the popup. Single minWidth Minimum width of the pop-up window. Single minHeight Minimum height of the pop-up window. Returns Type Description Transform Transform of the created popup window. CreatePopup(String, Vector2, Boolean, Single, Single) Creates popup window of type Declaration Transform CreatePopup(string windowTypeName, Vector2 position, bool canResize = false, float minWidth = 10F, float minHeight = 10F) Parameters Type Name Description String windowTypeName Window type name. Vector2 position Position in IWindowManager.PopupRoot coordinates. Boolean canResize True to be able to resize the popup. Single minWidth Minimum width of the pop-up window. Single minHeight Minimum height of the pop-up window. Returns Type Description Transform Transform of the created popup window. CreateWindow(String, out WindowDescriptor) Creates window of type (this function is mainly used when creating layouts). Declaration Transform CreateWindow(string windowTypeName, out WindowDescriptor wd) Parameters Type Name Description String windowTypeName Window type name. See BuiltInWindowNames for common window type names. WindowDescriptor wd The descriptor of the created window. Returns Type Description Transform Transform of the created window. CreateWindow(String, out WindowDescriptor, out GameObject, out Boolean) Declaration Transform CreateWindow(string windowTypeName, out WindowDescriptor wd, out GameObject content, out bool isDialog) Parameters Type Name Description String windowTypeName WindowDescriptor wd GameObject content Boolean isDialog Returns Type Description Transform CreateWindow(String, out WindowDescriptor, out Boolean) Creates window of type (this function is mainly used when creating layouts). Declaration Transform CreateWindow(string windowTypeName, out WindowDescriptor wd, out bool isDialog) Parameters Type Name Description String windowTypeName Window type name. See BuiltInWindowNames for common window type names. WindowDescriptor wd The descriptor of the created window. Boolean isDialog True if created window is dialog. Returns Type Description Transform Transform of the created window. CreateWindow(String, Boolean, RegionSplitType, Single, Transform) Creates window of type. Declaration Transform CreateWindow(string windowTypeName, bool isFree = true, RegionSplitType splitType = null, float flexibleSize = 0.3F, Transform parentWindow = null) Parameters Type Name Description String windowTypeName Window type name. Boolean isFree True if windows are to be created in the floating state, and false if in the docked state. RegionSplitType splitType Determines how to dock the window. Single flexibleSize Window size relative to the docked neighbor [0, 1]. Transform parentWindow Transform of the window with which a group of tabs will be formed or which will be the neighbor of the created window. Returns Type Description Transform Transform of the created window. DeleteLayout(String) Declaration void DeleteLayout(string name) Parameters Type Name Description String name DestroyDialogWindow() Destroys the topmost dialog window. Declaration void DestroyDialogWindow() DestroyWindow(Transform) Destroys window. Declaration void DestroyWindow(Transform conent) Parameters Type Name Description Transform conent Transform of the window. DestroyWindowsOfType(String) Destroys window of type. Declaration void DestroyWindowsOfType(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Dialog(Sprite, String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) Creates dialog. Declaration void Dialog(Sprite icon, string header, Transform content, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\", float minWidth = 150F, float minHeight = 150F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) Parameters Type Name Description Sprite icon String header Transform content DialogAction ok DialogAction cancel String okText String cancelText Single minWidth Single minHeight Single preferredWidth Single preferredHeight Boolean canResize Dialog(Sprite, String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) Creates dialog. Declaration void Dialog(Sprite icon, string header, Transform content, DialogAction ok, string okText = \"OK\", DialogAction cancel = null, string cancelText = \"Cancel\", bool canResize = false, float minWidth = 150F, float minHeight = 100F) Parameters Type Name Description Sprite icon Header icon. String header Header text. Transform content Dialog content transform. DialogAction ok Ok Action. String okText Ok button text. DialogAction cancel Cancel action. String cancelText Cancel button text. Boolean canResize True to be able to resize the dialog. Single minWidth Minimum width of the dialog. Single minHeight Minimum height of the dialog. Dialog(String, Transform, DialogAction, DialogAction, String, String, Single, Single, Single, Single, Boolean) Creates dialog. Declaration void Dialog(string header, Transform content, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\", float minWidth = 150F, float minHeight = 150F, float preferredWidth = 700F, float preferredHeight = 400F, bool canResize = true) Parameters Type Name Description String header Transform content DialogAction ok DialogAction cancel String okText String cancelText Single minWidth Single minHeight Single preferredWidth Single preferredHeight Boolean canResize Dialog(String, Transform, DialogAction, String, DialogAction, String, Boolean, Single, Single) Creates dialog. Declaration void Dialog(string header, Transform content, DialogAction ok, string okText = \"OK\", DialogAction cancel = null, string cancelText = \"Cancel\", bool canResize = false, float minWidth = 150F, float minHeight = 100F) Parameters Type Name Description String header Header text. Transform content Dialog content transform. DialogAction ok Ok Action. String okText Ok button text. DialogAction cancel Cancel action. String cancelText Cancel button text. Boolean canResize True to be able to resize the dialog. Single minWidth Minimum width of the dialog. Single minHeight Minimum height of the dialog. Exists(String) Checks if window of type exists. Declaration bool Exists(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Boolean True if window exists. FindPointerOverWindow(RuntimeWindow) Finds the uppermost window to which pointer is pointing. Declaration Transform FindPointerOverWindow(RuntimeWindow exceptWindow) Parameters Type Name Description RuntimeWindow exceptWindow Except window. Returns Type Description Transform Transform of the uppermost window to which pointer is pointing. ForceLayoutUpdate() Declaration void ForceLayoutUpdate() GetComponents(Transform) Gets extra components associated with the window. Declaration Transform[] GetComponents(Transform content) Parameters Type Name Description Transform content Transform of the window. Returns Type Description Transform[] Array of extra components. GetHeaderIcon(Transform) Gets header icon. Declaration Sprite GetHeaderIcon(Transform content) Parameters Type Name Description Transform content Window transform. Returns Type Description Sprite Header icon. GetHeaderText(Transform) Gets header text of the window. Declaration string GetHeaderText(Transform content) Parameters Type Name Description Transform content Window transform. Returns Type Description String Header text. GetLayout() Creates LayoutInfo object describing current layout. Declaration LayoutInfo GetLayout() Returns Type Description LayoutInfo GetLayout(String, GameObject) Declaration LayoutInfo GetLayout(string name, GameObject tabPrefab = null) Parameters Type Name Description String name GameObject tabPrefab Returns Type Description LayoutInfo GetWindow(String) Gets window transform by type. Declaration Transform GetWindow(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Transform Window transform. GetWindowDescriptor(String, out Boolean) Gets window descriptor. Declaration WindowDescriptor GetWindowDescriptor(string windowTypeName, out bool isDialog) Parameters Type Name Description String windowTypeName Window type name. Boolean isDialog Is true if the window is a dialog. Returns Type Description WindowDescriptor Window descriptor. GetWindows() Gets transforms of all windows . Declaration Transform[] GetWindows() Returns Type Description Transform[] Array of transforms. GetWindows(String) Gets transfroms of windows of type. Declaration Transform[] GetWindows(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Transform[] Array of transforms. GetWindowTypeName(Transform) Gets window type name. Declaration string GetWindowTypeName(Transform content) Parameters Type Name Description Transform content Transform of the window. Returns Type Description String Window type name IsActive(String) Checks if the window of this type is in an active state (e.g., if it can receive input). Declaration bool IsActive(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Boolean True if window is active. IsActive(Transform) Checks if the window in in active state (e.g., if it can receive input). Declaration bool IsActive(Transform content) Parameters Type Name Description Transform content Transform of the window. Returns Type Description Boolean True if window is active. IsWindowRegistered(String) Determines whether a window of the type registered. Declaration bool IsWindowRegistered(string windowTypeName) Parameters Type Name Description String windowTypeName Window type name. Returns Type Description Boolean True if window of type registered. LayoutExist(String) Declaration bool LayoutExist(string name) Parameters Type Name Description String name Returns Type Description Boolean LoadLayout(String, GameObject) Declaration void LoadLayout(string name, GameObject tabPrefab = null) Parameters Type Name Description String name GameObject tabPrefab MessageBox(Sprite, String, String, DialogAction) Creates message box. Declaration void MessageBox(Sprite icon, string header, string text, DialogAction ok = null) Parameters Type Name Description Sprite icon Header icon. String header Header text. String text Message text. DialogAction ok Ok action. MessageBox(String, String, DialogAction) Creates message box. Declaration void MessageBox(string header, string text, DialogAction ok = null) Parameters Type Name Description String header Header text. String text Message text. DialogAction ok Ok action. OverrideDefaultLayout(Func, String) Overrides default layout builder function. Declaration void OverrideDefaultLayout(Func layoutBuilderFunc, string activateWindowOfType = null) Parameters Type Name Description Func layoutBuilderFunc Layout builder function. String activateWindowOfType Type of the window to activate after building layout. OverrideTools(Transform) Overrides header tools (play, pause, pivot mode and various toggles). Declaration void OverrideTools(Transform toolsPrefab) Parameters Type Name Description Transform toolsPrefab Tools prefab transform. OverrideWindow(String, WindowDescriptor) Overrides the WindowDescriptor of a registered window. Declaration void OverrideWindow(string windowTypeName, WindowDescriptor descriptor) Parameters Type Name Description String windowTypeName Window type name. WindowDescriptor descriptor Window descriptor. OverrideWindow(String, GameObject) Overrides the prefab of a registered window. Declaration void OverrideWindow(string windowTypeName, GameObject prefab) Parameters Type Name Description String windowTypeName Window type name. GameObject prefab Prompt(Sprite, String, String, DialogAction, DialogAction, String, String) Creates prompt dialog. Declaration void Prompt(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel = null, string okText = \"OK\", string cancelText = \"Cancel\") Parameters Type Name Description Sprite icon Header icon. String header Header text. String text Input field text. DialogAction ok Ok action. DialogAction cancel Cancel action. String okText Ok button text. String cancelText Cancel button text. Prompt(String, String, DialogAction, DialogAction, String, String) Creates prompt dialog. Declaration void Prompt(string header, string text, DialogAction ok, DialogAction cancel = null, string okText = \"OK\", string cancelText = \"Cancel\") Parameters Type Name Description String header Header text. String text Input field text. DialogAction ok Ok action. DialogAction cancel Cancel action. String okText Ok button text. String cancelText Cancel button text. RegisterWindow(CustomWindowDescriptor) Registers window. Declaration bool RegisterWindow(CustomWindowDescriptor desc) Parameters Type Name Description CustomWindowDescriptor desc Window descriptor. Returns Type Description Boolean True if registration succeeded. SaveLayout(String) Declaration void SaveLayout(string name) Parameters Type Name Description String name ScreenPointToLocalPointInRectangle(RectTransform, Vector3, out Vector2) Transform a screen space point to a position in the local space of a RectTransform that is on the plane of its rectangle. Declaration bool ScreenPointToLocalPointInRectangle(RectTransform rectTransform, Vector3 screenPoint, out Vector2 position) Parameters Type Name Description RectTransform rectTransform The RectTransform to find a point inside. Vector3 screenPoint Screen space position. Vector2 position Point in local space of the rect transform. Returns Type Description Boolean true if the plane of the RectTransform is hit, regardless of whether the point is inside the rectangle. SetBottomBar(Transform) Sets bottom bar. Declaration void SetBottomBar(Transform bottomBar) Parameters Type Name Description Transform bottomBar Bottom bar transform. SetDefaultLayout() Rebuilds the layout using the default layout builder function. Declaration void SetDefaultLayout() SetHeaderIcon(Transform, Sprite) Sets header icon. Declaration void SetHeaderIcon(Transform content, Sprite icon) Parameters Type Name Description Transform content Window transform. Sprite icon Header icon. SetHeaderText(Transform, String) Sets header text of the window. Declaration void SetHeaderText(Transform content, string headerText) Parameters Type Name Description Transform content Window transform. String headerText Header text. SetLayout(Func, String) Builds layout using layout builder function. Declaration void SetLayout(Func layoutBuilderFunc, string activateWindowOfType = null) Parameters Type Name Description Func layoutBuilderFunc Layout builder function. String activateWindowOfType Type of the window to activate after building layout. SetLayout(Func, String) Builds layout using layout builder function. Declaration void SetLayout(Func layoutBuilderFunc, string activateWindowOfType = null) Parameters Type Name Description Func layoutBuilderFunc Layout builder function. String activateWindowOfType Type of the window to activate after building layout. SetLeftBar(Transform) Sets left bar. Declaration void SetLeftBar(Transform leftBar) Parameters Type Name Description Transform leftBar Left bar transform. SetRightBar(Transform) Sets right bar. Declaration void SetRightBar(Transform rightBar) Parameters Type Name Description Transform rightBar Right bar transform. SetTools(Transform) Sets header tools. Declaration void SetTools(Transform tools) Parameters Type Name Description Transform tools Content transform. SetTopBar(Transform) Sets top bar. Declaration void SetTopBar(Transform topBar) Parameters Type Name Description Transform topBar Top bar transform. SetTransform(Transform, Vector2, Vector2, Vector2, Vector2) Sets anchoredPosition, anchorMin, anchorMax and size delta. Declaration void SetTransform(Transform content, Vector2 anchoredPosition, Vector2 anchorMin, Vector2 anchorMax, Vector2 sizeDelta) Parameters Type Name Description Transform content Target window transform. Vector2 anchoredPosition Anchored position. Vector2 anchorMin Anchor min. Vector2 anchorMax Anchor max. Vector2 sizeDelta Size delta. SetWindowArgs(Transform, String) Sets window arguments. Declaration void SetWindowArgs(Transform content, string args) Parameters Type Name Description Transform content Transform of the window. String args Arguments. ValidateLayout(LayoutInfo) Validates layout. Declaration bool ValidateLayout(LayoutInfo layout) Parameters Type Name Description LayoutInfo layout LayoutInfo object. Returns Type Description Boolean True if layout is valid. Events AfterLayout Triggers when the layout stage is complete, when all the windows are positioned and ready to use. Declaration event Action AfterLayout Event Type Type Description Action WindowCreated Triggers after creating a new window. Declaration event Action WindowCreated Event Type Type Description Action WindowDestroyed Triggers after the window is destroyed. Declaration event Action WindowDestroyed Event Type Type Description Action" - }, - "api/Battlehub.RTEditor.html": { - "href": "api/Battlehub.RTEditor.html", - "title": "Namespace Battlehub.RTEditor | Example Unity documentation", - "keywords": "Namespace Battlehub.RTEditor Interfaces IWindowManager The window manager allows you to create complex windows, such as an inspector or scene, and simple dialogs, such as a message or confirmation window. The difference between a dialog and a window is quite subtle.The content of a dialog can be anything and it cannot be docked. To be considered a window or dialog box, a RuntimeWindow component must be attached to the game object. When RuntimeWindow is activated, other windows are deactivated. A dialog cannot deactivate a window." - }, - "index.html": { - "href": "index.html", - "title": "Runtime Editor Docs | Example Unity documentation", - "keywords": "Runtime Editor Docs Welcome to documentation of Runtime Editor v.3.5.0 the set of scripts and prefabs that will help you to implement scene editor, game level editor or build your own modeling application. If you are new to this documentation please proceed to [introduction] (manual/general.md) page to get an overview what Runtime Editor and this documentation has to offer. Note If you cannot find something in the documentation or have any questions, send an email to Battlehub@outlook.com or ask directly in this support group. Previous Versions: v 2.00 v 2.03 v 2.04 v 2.05 v 2.11 v 2.26 The documentation is organized as following: ##[General] (manual/general.md) [Introduction] (manual/general.md#introduction) List of Features Changelog About Getting Started [Getting Started with Runtime Editor] (manual/runtime-editor.md#getting-started) [Getting Started with Transform Handles] (manual/transform-handles.md#getting-started) [Getting Started with Save & Load] (manual/save-load.md#getting-started) [Expose To Editor] (manual/infrastructure.md#expose-to-editor) [Event methods] (manual/infrastructure.md#event-methods) [IOC] (manual/infrastructure.md#ioc) [Runtime Selection] (manual/infrastructure.md#runtime-selection) [Runtime Undo] (manual/infrastructure.md#runtime-undo) [Transform Handles] (manual/transform-handles.md) [Overview] (manual/transform-handles.md#overview) [Getting Started] (manual/transform-handles.md#getting-started) [Base Handle] (manual/transform-handles.md#base-handle) [Position Handle] (manual/transform-handles.md#position-handle) [Rotation Handle] (manual/transform-handles.md#rotation-handle) [Scale Handle] (manual/transform-handles.md#scale-handle) [Rect Tool] (manual/transform-handles.md#rect-tool) [Locking Axes] (manual/transform-handles.md#locking-axes) [Scene Gizmo] (manual/transform-handles.md#scene-gizmo) [Grid] (manual/transform-handles.md#grid) [Runtime Handles Component] (manual/transform-handles.md#runtime-handles-component) [Runtime Selection Component] (manual/transform-handles.md#runtime-selection-component) [Box Selection] (manual/transform-handles.md#box-selection) [Runtime Scene Component] (manual/transform-handles.md#runtime-scene-component) [Common Infrastructure] (manual/infrastructure.md) [Overview] (manual/infrastructure.md#overview) [Expose To Editor] (manual/infrastructure.md#expose-to-editor) [Event methods] (manual/infrastructure.md#event-methods) [IOC] (manual/infrastructure.md#ioc) [IRTE interface] (manual/infrastructure.md#irte-interface) [Input] (manual/infrastructure.md#input) [RTE Component] (manual/infrastructure.md#rte-component) [Runtime Selection] (manual/infrastructure.md#runtime-selection) [Runtime Objects] (manual/infrastructure.md#runtime-objects) [Runtime Tools] (manual/infrastructure.md#runtime-tools) [Runtime Undo] (manual/infrastructure.md#runtime-undo) [Drag And Drop] (manual/infrastructure.md#drag-and-drop) [Runtime Window] (manual/infrastructure.md#runtime-window) [Runtime Editor] (manual/runtime-editor.md) [Overview] (manual/runtime-editor.md#overview) [Getting Started] (manual/runtime-editor.md#getting-started) [Main & Context Menu] (manual/runtime-editor.md#main--context-menu) [RTEDeps] (manual/runtime-editor.md#rtedeps) [Window Manager] (manual/runtime-editor.md#window-manager) [How To: How to add custom window to Window Manager] (manual/runtime-editor.md#how-to-add-custom-window-to-window-manager) [How to: override default layout] (manual/runtime-editor.md#how-to-override-default-layout) [How to: override scene parameters] (manual/runtime-editor.md#how-to-override-scene-parameters) [How to: override tools panels] (manual/runtime-editor.md#how-to-override-tools-panel) [How to: override ui scale] (manual/runtime-editor.md#how-to-override-ui-scale) [How to: change runtime editor colors] (manual/runtime-editor.md#how-to-change-runtime-editor-colors) [File Importers] (manual/runtime-editor.md#file-importers) [Inspector View] (manual/runtime-editor.md#inspector-view) [How To: Configure Editors] (manual/runtime-editor.md#how-to-configure-editors) [How To: Select Component Properties] (manual/runtime-editor.md#how-to-select-component-properties) [Resource Preview Utility] (manual/runtime-editor.md#resource-preview-utility) [Save Load] (manual/save-load.md) [Overview] (manual/save-load.md#overview) [Getting Started] (manual/save-load.md#getting-started) [Persistent Classes] (manual/save-load.md#persistent-classes) [How To: Create Custom Persistent Class] (manual/save-load.md#how-to-create-custom-persistent-class) [Asset Library] (manual/save-load.md#asset-library) [How To: Create Asset Library] (manual/save-load.md#how-to-create-asset-library) [Project Item & Asset Item] (manual/save-load.md#project-item--asset-item) [Project] (manual/save-load.md#project) [Rendering] (manual/rendering.md) [IRTECamera] (manual/rendering.md#irtecamera) [Graphics Layer Camera] (manual/rendering.md#graphics-layer-camera) [Gizmos] (manual/gizmos.md) [Overview] (manual/gizmos.md#overview) [Getting Started With Gizmos] (manual/gizmos.md#getting-started) [Base Gizmo] (manual/gizmos.md#base-gizmo) [Box Gizmo] (manual/gizmos.md#box-gizmo) [Sphere Gizmo] (manual/gizmos.md#sphere-gizmo) [Capsule Gizmo] (manual/gizmos.md#capsule-gizmo) [Cone Gizmo] (manual/gizmos.md#cone-gizmo) [Box Collider Gizmo] (manual/gizmos.md#box-collider-gizmo) [Sphere Collider Gizmo] (manual/gizmos.md#sphere-collider-gizmo) [Capsule Collider Gizmo] (manual/gizmos.md#capsule-collider-gizmo) [Point Light Gizmo] (manual/gizmos.md#point-light-gizmo) [Spot Light Gizmo] (manual/gizmos.md#spot-light-gizmo) [Directional Light Gizmo] (manual/gizmos.md#directional-light-gizmo) [Audio Source Gizmo] (manual/gizmos.md#audio-source-gizmo) [Audio Reverb Zone Gizmo] (manual/gizmos.md#audio-reverb-zone-gizmo) [Skinned Mesh Renderer Gizmo] (manual/gizmos.md#skinned-mesh-renderer-gizmo) [Dock Panel] (manual/dock-panels.md) [Overview] (manual/dock-panels.md#overview) [Getting Started] (manual/dock-panels.md#getting-started) [Dock Panel] (manual/dock-panels.md#dock-panel) [Tab] (manual/dock-panels.md#tab) [Region] (manual/dock-panels.md#region) [Dialog Manager] (manual/dock-panels.md#dialog-manager) [Virtualizing TreeView] (manual/vtv.md) [Overview] (manual/vtv.md#overview) [Getting Started] (manual/vtv.md#getting-started) [Virtualizing Scroll Rect] (manual/vtv.md#virtualizing-scroll-rect) [Virtualizing Items Control] (manual/vtv.md#virtualizing-items-control) [Virtualizing Drop Marker] (manual/vtv.md#virtualizing-drop-marker) [Virtualizing Tree View] (manual/vtv.md#virtualizing-tree-view) [Virtualizing Tree View Item] (manual/vtv.md#virtualizing-tree-view-item) [Menu Control] (manual/menu-control.md) [Overview] (manual/menu-control.md#overview) [Getting Started] (manual/menu-control.md#getting-started) [Menu Item] (manual/menu-control.md#menu-item) [Menu] (manual/menu-control.md#menu) [Main Menu Button] (manual/menu-control.md#main-menu-button) [Context Menu Trigger] (manual/menu-control.md#context-menu-trigger) ##[Animation Editor] (manual/animation-editor.md) [Overview] (manual/animation-editor.md#overview) ##[Editor Extensions] (manual/editor-extensions.md) [Overview] (manual/editor-extensions.md#overview) [Getting Started] (manual/editor-extensions.md#getting-started) [Editor Extensions] (manual/editor-extensions.md#editor-extensions) [Runtime Builder] (manual/editor-extensions.md#runtime-builder) [Terrain Editor] (manual/editor-extensions.md#terrain-editor) [Runtime Scripting] (manual/editor-extensions.md#runtime-scripting) ##[Universal RP Support] (manual/urp-support.md) [Overview] (manual/urp-support.md#overview) [Getting Started] (manual/urp-support.md#getting-started) ##[HDRP Support] (manual/hdrp-support.md) [Overview] (manual/hdrp-support.md#overview) [Getting Started] (manual/hdrp-support.md#getting-started)" - }, - "manual/animation-editor.html": { - "href": "manual/animation-editor.html", - "title": "| Example Unity documentation", - "keywords": "#Animation Editor Docs ##Overview The Animation Editor adds to the Runtime Editor the ability to create and edit animations. Animation Editor Prefabs can be found in Assets\\Battlehub\\RTEditor\\Content\\Runtime\\RTEditor\\Prefabs. This is example on how to create RuntimeAnimation: using Battlehub.RTCommon; using Battlehub.UIControls.MenuControl; using System.Collections.Generic; using UnityEngine; namespace Battlehub.RTEditor.Examples.Scene90 { /* Property names can be looked up by setting Asset Serialization to Force Text mode in the Editor settings. The text files that are then written by the editor will include the names of the properties. For example, the yaml file written for a Scene object will include the Camera settings. Looking at this yaml file will show: m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 near clip plane: .300000012 far clip plane: 1000 field of view: 60 orthographic: 0 orthographic size: 5 m_Depth: -1 This shows that the name for the FOV parameter is \"field of view\". If you wanted to create an animation clip to animate the camera field of view, you would pass \"field of view\" as the propertyName. */ [MenuDefinition] public class AnimationEditorExampleMenu : MonoBehaviour { [MenuCommand(\"Example/Create Runtime Animation\")] public void CreateRuntimeAnimation() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube); go.AddComponent(); RuntimeAnimationClip clip = ScriptableObject.CreateInstance(); RuntimeAnimationProperty property = new RuntimeAnimationProperty(); property.Component = go.GetComponent(); property.ComponentTypeName = \"UnityEngine.Transform, UnityEngine.CoreModule\"; property.ComponentDisplayName = \"Transform\"; property.AnimationPropertyName = \"m_LocalPosition\"; property.PropertyDisplayName = \"Position\"; property.PropertyName = \"localPosition\"; property.Children = new List { new RuntimeAnimationProperty { Parent = property, Component = property.Component, ComponentTypeName = property.ComponentTypeName, PropertyDisplayName = \"x\", PropertyName = \"x\", Curve = new AnimationCurve { keys = new[] { new Keyframe(0, go.transform.position.x), new Keyframe(0.5f, go.transform.position.x), new Keyframe(1, go.transform.position.x), } } }, new RuntimeAnimationProperty { Parent = property, Component = property.Component, ComponentTypeName = property.ComponentTypeName, PropertyDisplayName = \"y\", PropertyName = \"y\", Curve = new AnimationCurve { keys = new[] { new Keyframe(0, go.transform.position.y), new Keyframe(0.5f, go.transform.position.y + 3.0f), new Keyframe(1, go.transform.position.y), } } }, new RuntimeAnimationProperty { Parent = property, Component = property.Component, ComponentTypeName = property.ComponentTypeName, PropertyDisplayName = \"z\", PropertyName = \"z\", Curve = new AnimationCurve { keys = new[] { new Keyframe(0, go.transform.position.z), new Keyframe(0.5f, go.transform.position.z), new Keyframe(1, go.transform.position.z), } } } }; clip.Add(property); RuntimeAnimation animation = go.AddComponent(); animation.Clips = new List { clip }; IRTE rte = IOC.Resolve(); rte.Selection.activeGameObject = go; } } }" - }, - "manual/dock-panels.html": { - "href": "manual/dock-panels.html", - "title": "Dock Panel Docs | Example Unity documentation", - "keywords": "Dock Panel Docs Overview The Dock Panel is a control, that provides an easy docking of content regions to the left, right, top, bottom or center of the panel. The control also allow region to become an independent floating window, modal popup or dialog. ##Getting Started Create Canvas. Add DockPanel.prefab from Assets/Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs to hierarchy. Create GettingStarted.cs script and add it to DockPanel Game Object. Hit Play. using Battlehub.UIControls.DockPanels; using UnityEngine; using UnityEngine.UI; public class GettingStarted : MonoBehaviour { DockPanel m_dockPanel; void Start() { m_dockPanel = GetComponent(); GameObject testContent = new GameObject(); testContent.AddComponent().color = new Color(0.2f, 0.2f, 0.2f, 1.0f); LayoutInfo layout = new LayoutInfo(false, new LayoutInfo(testContent.transform, \"Tab 1\"), new LayoutInfo( isVertical: true, child0: new LayoutInfo(Instantiate(testContent).transform, \"Tab 2\"), child1: new LayoutInfo(Instantiate(testContent).transform, \"Tab 3\"), ratio: 0.5f), 0.5f); m_dockPanel.RootRegion.Build(layout); } } Note Full demo can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/UIControls/DockPanels folder ##Dock Panel Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/DockPanel.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/DockPanel.cs Fields: Mask - masking everything outside of DockPanel (image with Rect2D Component) Docked - parent for docked regions Free - parent for floating regions Preview - parent for tab preview visible during tab re-parenting operation. Modal - parent for modal pop-ups and dialogs. Region Prefab - reference to region prefab. Tab Prefab - reference to default tab prefab. ##Tab Default Style: Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/Tab.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/Tab.cs Fields: Canvas Group - required to hide tab but preserve occupied space during rearrangements. Img - tab icon. Text - tab header text. Close Button - tab close button. Toggle - reference to toggle control (tab have 2 states 'selected' and 'unselected'). ##Region Default Style: Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/DockPanels/Prefabs/Region.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/DockPanels/Region.cs Fields: Maximize Toggle - expands owner region and hide others. Can Resize - enables/disable ability to resize region. Layout Element - reference to root Layout Element. Tab Panel - panel for tabs. Content Panel - panel for content. Children Panel - panel for child regions. Root - reference to dock panel. Header Image - region header graphics. Frame Image - region content frame graphics. Methods: void Build(LayoutInfo layoutInfo) - build layout. GameObject content1 = new GameObject(); content1.AddComponent().color = Color.red; GameObject content2 = new GameObject(); content2.AddComponent().color = Color.yellow; m_region.Build(new LayoutInfo( isVertical: false, child0: new LayoutInfo(content1.transform, \"Header 1\"), child1: new LayoutInfo(content2.transform, \"Header 2\"), ratio: 0.25f)); void RemoveAt(int index) - remove content at index. void Add(Sprite icon, string header, Transform content, bool isFree = false, RegionSplitType splitType = RegionSplitType.None) - add content to region. Sprite icon = null; GameObject content = new GameObject(); content.AddComponent().color = Color.green; //1. Add content m_region.Add(icon, \"Header1\", content.transform, false, RegionSplitType.None); //2. Add content to the left m_region.Add(icon, \"Header2\", content.transform, false, RegionSplitType.Left); //3. Add content to the right m_region.Add(icon, \"Header3\", content.transform, false, RegionSplitType.Right); //4. Add content on the top m_region.Add(icon, \"Header4\", content.transform, false, RegionSplitType.Top); //5. Add content to the bottom m_region.Add(icon, \"Header5\", content.transform, false, RegionSplitType.Bottom); //6. Add content to floating region m_region.Add(icon, \"Tab 3\", content.transform, true); ##Dialog Manager Dialog manager allows you to create various dialogs and pop-ups. Dialogs are created as a modal floating regions of dock panel. To use dialog manager do following: Add Assets/Battlehub/RTEditor/Runtime/UIControls/Dialog/DialogManager component. Set Dock Panel field. Set Dialog field to Assets/Battlehub/RTEditor/Content/Runtime/UIControls/Dialog/Prefabs/Dialog.prefab. using Battlehub.UIControls.Dialogs; using UnityEngine; using UnityEngine.UI; public class DialogManagerExamples : MonoBehaviour { [SerializeField] DialogManager m_dialogManager; [SerializeField] Sprite m_icon; void Start() { //Show message box with \"OK\" button m_dialogManager.ShowDialog(m_icon, \"Message Header\", \"Message Text\"); //Show confirmation with \"Yes\" and \"No\" buttons m_dialogManager.ShowDialog(m_icon, \"Scene has been modified\", \"Do you want to save changed you made in the scene?\", (dialog, cancelArgs) => { Debug.Log(\"Yes clicked\"); }, \"Yes\", (dialog, cancelArgs) => { Debug.Log(\"No clicked\"); }, \"No\"); //Show popup with custom content GameObject content = new GameObject(); content.AddComponent().color = Color.red; m_dialogManager.ShowDialog(m_icon, \"Popup\", content.transform); } }" - }, - "manual/editor-extensions.html": { - "href": "manual/editor-extensions.html", - "title": "| Example Unity documentation", - "keywords": "#Editor Extensions Docs ##Overview Editor Extensions are additional functionality that can be used optionally with the Runtime Editor. At the moment there are three built-in editor extensions: Runtime Builder - integration and user interface for Unity ProBuilder. Terrain Editor - user interface and additional functionality for Terrain editing Runtime Scripting - ability to create and compile MonoBehavior scripts at runtime ##Getting Started To start working with the editor extensions perform the following steps: Create Runtime Editor using Tools->Runtime Editor->Create Editor. Create Editor Extensions using Tools->Runtime Editor->Create Extensions. Hit Play. Editor extensions should be available from the Window menu item. ##Editor Extensions Editor extensions are located in Assets/Battlehub/RTExtensions folder. The /Content folder contains resources and prefabs, the /Runtime folder contains runtime scripts, and the /Editor folder contains scripts that run in the Unity editor. The prefab that initializes all extensions is called EditorExtensions and is located in the /RTExtensions/Content/Runtime folder. ##Runtime Builder The Runtime Builder extension allows you to create and edit meshes, prototype, edit game object materials and texture UVs in Runtime Editor using Unity ProBuilder. RTBuilder prefab can be found in /Battlehub/RTExtensions/Content/Runtime/RTBuilder. Standalone RTBuilder demo scene can be found in: /Battlehub/RTEditorDemo/Content/Runtime/RTExtensions/RTBuilder ##Terrain Editor The Terrain Editor extension allows you to add to Runtime Editor the possibility of editing Terrain objects. RTTerrain prefab can be found in __/Battlehub/RTExtensions/Content/Runtime/RTTerrain folder. ##Runtime Scripting The Runtime Scripting extension allows you to create C# scripts at run-time using the Runtime Editor. The RTScripting prefab that initializes the extension can be found at /Battlehub/RTScripting/Content/Runtime. Note Unpack RTScripting and RTScripting Demo packages: Note Runtime Scripting Extension is only supported in a Standalone Windows build Note Runtime Scripting Extension use Roslyn.net compiler platform After adding the RTScripting prefab to the scene, the Create->Script context menu item becomes available. The script editor can be opened using the context menu or by double-clicking the script icon. For programmatic access to the RTScripting extension you need to use the IRuntimeScriptManager interface. Here is how to add references to additional assemblies: using Battlehub.RTCommon; using Battlehub.RTEditor; using Battlehub.RTScripting; using UnityEngine.AI; public class AddReferencesExample : EditorExtension { protected override void OnEditorExist() { base.OnEditorExist(); IRuntimeScriptManager scriptManager = IOC.Resolve(); scriptManager.AddReference(typeof(NavMesh).Assembly.Location); } } Example on how to create and compile script at runtime: using Battlehub.RTCommon; using Battlehub.RTScripting; using Battlehub.RTSL.Interface; using Battlehub.UIControls.MenuControl; using System; using System.Threading.Tasks; using UnityEngine; namespace Battlehub.RTEditor.Examples.Scene60 { [MenuDefinition] public class RuntimeScriptingExampleMenu : MonoBehaviour { private static string s_nl = Environment.NewLine; private static string s_csTemplate = \"using System.Collections;\" + s_nl + \"using System.Collections.Generic;\" + s_nl + \"using UnityEngine;\" + s_nl + s_nl + \"public class {0} : MonoBehaviour\" + s_nl + \"{{\" + s_nl + \" // Start is called before the first frame update\" + s_nl + \" void Start()\" + s_nl + \" {{\" + s_nl + \" {1}\" + s_nl + \" }}\" + s_nl + s_nl + \" // Update is called once per frame\" + s_nl + \" void Update()\" + s_nl + \" {{\" + s_nl + \" {2}\" + s_nl + \" }}\" + s_nl + s_nl + \" void OnRuntimeEditorOpened()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Editor Opened\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void OnRuntimeEditorClosed()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Editor Closed\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void RuntimeAwake()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Awake in play mode\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void RuntimeStart()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Start in play mode\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void OnRuntimeDestroy()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Destroy in play mode\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void OnRuntimeActivate()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Game view activated\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \" void OnRuntimeDeactivate()\" + s_nl + \" {{\" + s_nl + \" Debug.Log(\\\"Game view deactivated\\\");\" + s_nl + \" }}\" + s_nl + s_nl + \"}}\"; [MenuCommand(\"Example/Create Script\")] public async void CreateScript() { IProjectAsync project = IOC.Resolve(); IRuntimeScriptManager scriptManager = IOC.Resolve(); string desiredTypeName = \"MyHelloWorld\"; ProjectItem assetItem = await scriptManager.CreateScriptAsync( project.State.RootFolder, desiredTypeName); RuntimeTextAsset cs = await scriptManager.LoadScriptAsync(assetItem); string typeName = cs.name; cs.Text = string.Format(s_csTemplate, typeName, \"Debug.Log(\\\"Hello World\\\");\", \" \", \"\"); await scriptManager.SaveScriptAsync(assetItem, cs); await scriptManager.CompileAsync(); GameObject testGo = new GameObject(\"RT Scripting example\"); testGo.AddComponent(); testGo.AddComponent(scriptManager.GetType(typeName)); await Task.Yield(); IRTE editor = IOC.Resolve(); editor.IsPlaying = true; await Task.Yield(); editor.IsPlaying = false; } } }" - }, - "manual/general.html": { - "href": "manual/general.html", - "title": "| Example Unity documentation", - "keywords": "#Introduction This documentation covers most important parts of Runtime Editor. Unlike previous versions of the documentation, I tried to concentrate more on examples rather then documenting each property of each script. Let me know what examples you would like to see. Start with following sections: Getting Started with Runtime Editor Getting Started with Transform Handles Getting Started with Save & Load Expose To Editor Event methods IOC Runtime Selection Runtime Undo ##List of Features Position Handle, Rotation Handle, Scale Handle, Rect Tool. Grid, Box Selection, Scene Gizmo. Global & Local coordinates, Local & Center pivot point modes, Vertex & Grid snapping. Gizmos for Colliders, Lights and Audio Sources. Scene navigation, Orthographic & Perspective mode. Undo & Redo API. Object selection API. Object life-cycle Events. Play & Edit mode. Configurable Inspector. Component & Material editors. 20+ Built-in property editors. Ability to edit components of multiple selected objects. Add Component control. Multiple scenes and cameras support. Dock Panels & Windows Management. Dialogs, Message Boxes, Confirmations. Easy to extend with new windows. Configurable Main & Context menu. Lightweight Virtualizing Tree View for Hierarchy and Project windows. Configurable Save & Load subsystem (almost no coding is required). Easy to use Project API. Static Assets, Asset Bundles and Runtime Assets support. Load assets on demand. Multiple Projects support. Animation Editor. Terrain Editor. ProBuilder Integration. Runtime Scripting. Universal Render Pipeline support. HD Renderer Pipeline support (Beta). Mobile Support. ###Breaking Changes Old Views derived from RuntimeWindow are replaced with Views and ViewModels and MVVM-style data-binding system for Unity. Old views and dialogs have been moved to the Battlehub/RTEditor/Runtime/RTEditor/Legacy folder. Old prefabs can be found in the Battlehub/RTEditor/Content/Runtime/RTEditor/Prefabs/Legacy folder. New Views and ViewModels are located in Battlehub/RTEditor/Runtime/RTEditor/Views and Assets/Battlehub/RTEditor/Runtime/RTEditor/ViewsModels respectively. If you want to use legacy built-in windows, select the \"Use Legacy Built-In Windows\" toggle in the WindowManager component of the RuntimEditor prefab. ##Changelog ####RTE 3.5.0 - Dec 24, 2021 RTE: SceneViewImpl, SceneViewModel ExposePrefabInstance modified to not expose full hierarchy. UI: Set VirtualizingListBoxItem.m_toggle.interactable to true by default UI: Added VirtualizingScrollRect.ItemsChanged event UI: Added VirtualizingListBoxBinding.CanRemove property UI: Added VirtualizingListBoxBinding.CanReorder property UI: Added VirtualizingListBoxBinding.CanSelect property UI: Added VirtualizingListBoxBinding.Target property UI: Changed VirtualizingListBoxBinding base class from AbstractMemberBinding to ControlBinding RTE: Added code to activate Dialog windows WindowManager.OnInputModuleUpdate() RTE: Added WindowOverlay to RuntimeEditor.prefab \\UI\\LayoutRoot\\Middle\\DockPanels\\Mask\\Modal RTE PeekMode: added Commands Panel RTE PeekMode: added Group, Ungroup, CreatePrefab buttons to GameObjectView RTE PeekMode: added \"Begin Create\" button RTE: Added Tools/Runtime Editor/Create Custom Window menu command RTE: Added ability to Create CustomView and CustomViewModel from template RTE: UnityWeld.dll Auto Reference flag set to True RTH: Added code to update ExposeToEditor.LocalEulerAngles from RotationHandle RTE: Added support for Rotations > 360 degrees in Animation Editor RTE: Fixed AnimationViewModel undo & redo RTE: Fixed Legacy AnimationView undo & redo RTE: Added InspectorModel RTC: Deprecated RuntimeTools.ShowGizmos, ShowGizmosChanged, ShowSelectionGizmos, ShowSelectionGizmosChanged RTC: IOC.IsRegistered and IOC.IsFallbackRegistered methods added RTE: Models\\Placement\\PlacementModel added to RuntimeEditor.prefab RTE: Models\\Grouping\\GroupingModel added to RuntimeEditor.prefab RTE: Deprecated IRuntimEditorExt RTE: Added IPlacementModel, PlacementModel RTE: Added IGroupingModel, GroupingModel RTE PeekMode: Added PeekModeCommandsHandler RTE PeekMode: Added CreatorWindow RTE: Added Transform IWindowManager.Prompt(string header, string text, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\") RTE: Added Transform IWindowManager.Prompt(Sprite icon, string header, string text, DialogAction ok, DialogAction cancel, string okText = \"OK\", string cancelText = \"Cancel\") RTE: Added EmptyView and EmptyDialog RTE: Added AutoUI RTE: added IProjectTreeViewModel, IProjectFolderViewModel as replacement for IProjectTree and IProjectFolder RTC: Added IRuntimeObjects.ComponentDestroyed event RTC: Added ExposeToEditor._ComponentDestroyed event RTE: IWindowManager.CreatePopup, .CreateDropdown methods added UI: Added RaiseTransformChanged() call to Start method of RectTransformChangeListener (in order to correctly initialize VirtualizingScrollRect) UI: Added Region.Destroy method UI: Added DockPanel.AddDropdownRegion and .AddPopupRegion methods with various overloads. RTE: Added IRuntimeEditor.StopCoroutine RTE: Added IWindowManager Confirmation overloads UI: Added DialogManager .ShowComplexDialog UI: Added Dialog Alt button, Alt event and Alt action RTH: Changed RuntimeHitTester DefaultExecutionOrder to -89 RTB: Added support for Probuilder 4.4.0, 5.0.3 RTC: Added IRuntimeUndo.AddComponentWithRequirements RTH: Added MinOrthoSize, MaxOrthoSize properties to RuntimeSceneComponent RTE PeekMode: Dropdowns, add component panel, add component viewmodel RTE PeekMode: GameObjectName toggle + styling RTE PeekMode: ContextPanel using minimum distance = 50 when Empty Game Object selected UI: Fixed NullReferenceException when opening a menu control with more than 2 levels of depth RTE PeekMode: Added ComponentViewModel RTE PeekMode: Added ContextPanelViewModel RTE: Component Editor Icons added RTE: Added Default Component Editor Icon RTE: Added ComponentEditorSettings.ShowIcon and ComponentEditorSettings.Icon fields RTE: Added HeaderDescriptor.ShowIcon and HeaderDescriptor.Icon fields RTE: Added Component Editor Icon RTE: Implemented PeekMode context panel visibility and positioning RTB: Highlight AutoUV with different color in Manual UV Editor window RTB: Hidden position/rotation/scale handle axes if no faces selected in uv editing mode RTB: Fixed bug where ManualUVRenderer was not refreshed correctly on mesh editing to uv editing mode change RTB: Fixed bug where ManualUVRenderer was not refreshed correctly on vertex/edge/face mode change UI: Added SceneName parameter to MenuDefinitionAttribute (defines scene which menu applies to) RTE: Added PeekModeScene and PeekModeLayout RTE: Added BuiltInWindowNames RTE: Added LayoutExtension UI: Added LayoutInfo LayoutInfo.Horizontal(LayoutInfo top, LayoutInfo bottom, float ratio = 0.5f); UI: Added LayoutInfo LayoutInfo.Vertical(LayoutInfo left, LayoutInfo right, float ratio = 0.5f); UI: Added LayoutInfo LayoutInfo.Group(params LayoutInfo[] tabGroup); RTE: Added Transform IWindowManager.CreateWindow(string windowTypeName, out WindowDescriptor wd); RTE: Added Transform IWindowManager.CreateWindow(string windowTypeName, out WindowDescriptor wd, out bool isDialog); RTE: Added LayoutInfo IWindowManager.CreateLayoutInfo(Transform content, WindowDescriptor desc); RTH: Added SelectionPicker (corresponding code removed from BoxSelection and BoxSelectionRenderer) RTE: Replaced UnityEvent HideInInspector with NonSerialized attribute RTE: Added ReplaceSceneViewAndViewModelExample RTE: Added ability to overrided views RTE: Added SceneViewModelOverride example RTE: Added ability to override view models RTSL: Added support for objects with subassets imported from asset bundles. RTB: Material palette view tooltips added RTE: Added LocalizedTooltip RTC: SetCursor if m_currentCursorType != cursorType. CursorHelper.SetCursor return value changed from void to bool. RTE: ImportFileDialog replaced RTE: Fixed TimelineControl key already exists exceptions when adding row with ColumnCount = 1 RTE: AnimationSelectPropertiesDialog replaced RTH: Fixed SceneGizmo.DoSceneGizmo UI: DockPanel.RootRegion.FrameImage.enabled = false RTE: AnimationView replaced RTE: add BubbleUpPointerExit only if IsTouchSupported == true RTT: TerrainEditor instantiated by TerrainView OnEditorSelectionChanged RTT: store selected layer index. RTSL: Fixed compatibility with 2.11 - 2.26 files RTB: ManualUVEditorView, ManualUVSceneComponent, ManualUVRenderer fixed to work with Universal and HD RP RTSL: Updated PersistentSprite class to save textures which are not mapped. RTE: Replaced SaveAssetsDialog RTE: Replaced SaveFileDialog RTE: Replaced OpenFileDialog RTE: ProjectTreeViewModel select assets folder when selected folder removed RTE: ProjectTreeViewModel.SelectedItem accepts items for which CanDisplay returns true RTH: Added SelectionMode { UseColliders - default, UseRenderers, UseRenderersBeforeColliders }. RTT: Removed ProjectItemView from LayerListBoxItem.prefab UI: VirtualizingTreeViewItem.ItemPresenter.Label Overflow set to Ellipsis RTE: Added bool ShowLayers = true RTE: Added GameObjectEditorSettings RTE: ZipConstants.DefaultCodePage = System.Text.Encoding.UTF8.CodePage; RTE: Added 'select' parameter to public static void AddGameObjectToScene(this IRTE editor, GameObject go, bool select = true) method RTC: Added ImputLowForRDP.cs RTH: #pragma target 3.5 removed from OutlineBlur, OutlinePrepass, OutlineCompomosite RTE: private string[] m_hiddenValues added to EnumEditor RTE: virtual modifer added to ComponentEditor.BuildEditor and .OnExpanded methods RTE: bool? IsExpandedByDefault added to ComponentEditorSettings (used to calculate defaultValue in IsComponentExpanded getter) RTE: Replaced ImportAssetsDialog RTE: Replaced SelectAssetsDialog RTE: Renderers with isPartOfStaticBatch == true excluded from BoxSelection RTE: Using Screen.currentResolution.width instead of Display.main.systemWidth RTE: BaseGizmoInput DefaultExecution order changed to -59 RTE: BaseGizmo public virtual Reset method RTE: Replaced ToolsPanel RTE: Replaced SettingsDialog RTE: Fixed Default Layout procedure RTE: Added RectTool text outline RTE: Added HierarchicalDataView RTE: Implemented HierarchicalDataViewModel common drag & drop handling RTE: Replaced ProjectView RTE: Fixed VirtualizingTreeView CanBeParent, CanReparent flags behaviour RTE: Added ability to disable foreground layer in Universal RP (If disabled, then the windows with the camera should not go to the floating mode). RTE: Added m_depthMaskOffset field to DepthMaskingBehaviour (presumably fixes window depth masking bug on MacOS?) RTE: Using the default UI shader from Unity 2020 #if UNITY_2019 (fixes incorrect transparency of the ui in windows placed above the scene) RTSL: GetUOAssembliesAndTypes moved to ReflectionUtils.cs RTSL: UnityWeld excluded from assemblies array in CodeGen.GetUOAssembliesAndTypes and EditorsMapWindow.GetUOAssembliesAndTypes RTE: Replaced SelectObjectDialog RTE: Replaced SelectColorDialog RTE: Added IWindowManager.CreateDialogWindow overload without preferredWidth, preferredHeight parameters RTE: Replaced ManageProjectsDialog RTSL: ProjectInfo .Name, .LastWriteTime fields replaced with properties RTE: canResize = true param added to IWindowManager.Dialog methods RTE: canResize = true param added to Workspace.Dialog methods RTE: Replaced SaveSceneDialog RTE: Added DialogBinding RTE: OneWayPropertyBindingSlim and TwoWayPropertyBindingSlim added to ControlBinding RTSL: ProjectItem .Name, .Ext, .Children, .Parent fields replaced with properties RTE: Added missing functionality to write gameobject name changes to undo stack. RTE: Activated, Deactivated events added to RuntimeWindow RTE: AddComponentControl moved from InspectorView to GameObjectEditor RTE: Replaced InspectorView RTE: Ability to override Inspector selection. RTH: Added BoundingSphereRadius property to RuntimeSceneComponent RTE: Added RuntimeGameWindow RTE: Replaced SceneView RTE: Replaced ConsoleView RTE: Replaced HierarchyView RTSL: Added .Load_Async method with correct Task return type. RTSL: IProjectAsync .DeleteFolderAsync, .DeleteAsync don't throw an exception if ProjectItem doesn't exist RTE: View, ViewBinding added UI: Added PrefabIndex to MenuItemInfo UI: Replaced Menu m_menuItemPrefab with m_menuItemPrefabs RTE: Fixed Strong and EditorsMap classes (Universal Windows Platform) UI: Added VirtualizingTreeViewBinding .ItemClick, .ItemHold, .ItemDoubleClick, .ItemExpanded, .ItemCollapsed, .ItemDragEnter, .ItemDragExit events UI: Added VirtualizingTreeViewBinding .Target property UI: VirtualizingItemsControl .ItemClick event no longer occurs after ItemDoubleClick operation. UI: VirtualizingItemsControl .ItemClick event no longer occurs during a drag-and-drop operation. UI: Added VirtualizingTreeViewBinding DragItems, DropTargets UI: Added VirtualizingTreeViewBinding Drag&Drop Unity Events UI: Added ControlBinding, EventBindingSlim RTE: Added Project LockAsync WebGL implementation UI: VirtualizingListBox binding added UI: VirtualizingListBox added UI: VirtualizingScroller continuous mode added RTC: Added .Name property to ExposeToEditor. RTE: Added BuiltInWindows component added to Runtime Editor prefab. RTE: Added WindowManager.m_useLegacyBuiltInWindows = false. RTE: Added View prefabs, ViewModels and ViewModelTests. RTE: Existing view and dialog prefabs moved to Battlehub\\RTEditor\\Content\\Runtime\\RTEditor\\Prefabs\\Legacy. RTE: Existing views and dialogs moved to Battlehub\\RTEditor\\Runtime\\RTEditor\\Legacy. UI: MenuItem quick fix for InputSystem and mouse support RTE: InputSystem 1.0.1 package added RTE: WindowManager will call Editor.ActivateWindow only if ActiveWorkspace.ActivateWindow returns true; RTE: Workspace .ActivateWindow method fixed. Allow to activate window only in case if m_isTabDragInProgress == false; UI: Region .Insert method fixed. Turn on the new tab first or else Unity's UI.Toggle.Set() won't let us turn off the tab that was previously active. UI: Tab m_toggle.interactable = false; this will prevent the Toggle event from firing twice. RTE: Added HierarchyViewModel, HierarchyView prefab RTE: Deprecated prefabs from RTEditor\\Content\\Runtime\\Prefabs\\View and Dialog folders RTE: Deprecated AboutDialog, AssetLibraryImportDialog, AssetLibrarySelectDialog, ImportFileDialog, InputDialog, OpenFileDialog, ProjectsDialog, SaveAssetsDialog, SelectColorDialog, SelectObjectDialog, SettingsDialog RTE: Deprecated ProjectFolderView, ProjectFolderViewImpl, ProjectItemView, ProjectTreeViewImpl, ProjectView, ProjectViewImpl RTE: Deprecated SceneView, SceneViewImpl, GameView, HierarchyView, HierarchyViewImpl, InspectorView, ConsoleView, ToolsPanel RTE: Scene cursor cannot be changed when popup is displayed. RTE: Removed DragField from RangeEditor and RangeIntEditor prefabs. RTE: URP, HDRP UIForeground transparency fix for unity 2019. UI: Added IHierarchicalData interface. UI: Added INotifyHierarchicalDataChanged interface. UI: Added VirtualizingTreeViewBinding editor. UI: VirtualizingTreeViewBinding added. RTE: Added UnityWeld.dll. ####RTE 2.25 - Sept 30, 2020 Project structure: reorganized to support unity package manager Inspector: ability to select and edit multiple game objects and components. Inspector: layers editor. Inspector: layer mask editor. Inspector: culling mask added to camera component editor. Inspector: add component button keyboard navigation. Inspector: ability to configure visibility of buttons. Inspector: support for components with RequireComponent attribute. Hierarchy: search field added. Hierarchy: ability to override HierarchyView. Project: search field added. Project: ability to duplicate folders. Project: ability to override ProjectFolderView. Project: ability to override ProjectTreeView. Scene: ability to focus all active in hierarchy game objects with renderers. Scene: select objects on mouse button up. Scene: ability to select objects without collider. Scene: new box selection mode - pixel perfect depth test. Scene: auto save layout. DockPanel: Region.ClassAllTabs method added. DockPanel: variable tab size support. DockPanel: LayoutInfo must be created using IWindowManager.CreateLayoutInfo method. Theming: ability to set and update theme at runtime. Settings: dialog added. ProBuilder: uv unwrapping window. ProBuilder: uv stitch tool. ProBuilder: smooth groups editor. Graphics: HD Render Pipeline Support (Beta). Graphics: Universal Render Pipeline Support. Graphics: GL is not used anymore and replaced with CommandBuffer. RTSL: k__BackingField and delegates are not visible in Persistent Classes Window anymore. RTSL: separate RuntimeTypeModel.dll for each build target. RTSL: generating link.xml to support IL2CPP scripting backend. RTSL: mesh, texture, audio data imported from asset bundle is not saved on disk anymore. RTSL: save & load time and memory consumption reduced. RTSL: preventing the Editor from crashing when entering play mode with selected asset library. RTSL: support for different types of identifiers. RTSL: Autogenerated TypeMap.cs replace with TypeMapCreator RTSL: [CustomImplementation] class structure changed RTSL: IProject.ToID replaced with IProject.ToPersistentID method. RTSL: IProject.FromID replaced with IProject.FromPersistentID method. RTSL: IStorage interface replaced with IStrorage<> with PersistentObject<> params ####RTE 2.11 - Jan 30, 2020 Terrain details & trees editor ####RTE 2.10 - Dec 30, 2019 Terrain editor. ProBuilder integration. Animation editor. Runtime scripting. Localization. Transform Handles: Rect Tool. ####RTE 2.05 - April 30, 2019 Ability to change RTE UI Colors. UI.Text replaced with TextMeshProUGUI; File importers -> obj, png, jpg; VTV.SelectedIndex is set to -1 when Selected Item is null; Creating Primitives with Default-Material; ProjectItem.Get method fixed; Loading last project by default; Create project folder if there was no project before. Create camera and directional light by default. Dynamic resouces cleanup procedure fixed; Project Folder Drag & Drop bug fixed. ####RTE 2.04 - March 30, 2019 Rendering scene view and game view using RenderTexture and RawImage; LWRP support; Transform Handles: position handle freeze bug fixed. Transform Handles: correct model scale. Duplicate scene bug fixed. \"Open\" context menu item added. RuntimeWindow CanActivate property added. Ability to create tab groups. IOC container unloading bug fixed. ####RTE 2.03 - February 13, 2019 Configurable layout. Configurable tools panel. Configurable ui scale. Editor mappings are stored in RTEditor_Data folder and will not be overriden anymore. RTSL: TypeModel.dll correct import settings. RTSL: close progress bar in case of exception. Trasnform Handles: nullref exception fixed. RTE 2.02 - January 30, 2019 RTSL: codegen & persistent class storage fixed. RTSL: camera.pixelRect saved by default. RTSL: demo scene update. Transform Handles: demo scene update. RTE 2.01 - January 13, 2019 Set default layout nullref exception fixed. Transform Handles: prefabs added; Transform Handles: demo scene; ####RTE 2.00 - Dec 30, 2018 Runtime save-load subsystem. Ability create/manage projects. Project API. Assets & Asset bundles importer. Configurable layout (dock panels). Configurable main & context menu. New dialog windows and message boxes. Multiple viewports supported. Runtime handles touch support. Simple depency injection (IOC). Undo & Redo API. Object selection API. Object life-cycle events. Add components control. Console window. Lists and Hierarchies virtualization. ##About Hi, I am Vadym. I put a lot of effort into creating the Runtime Editor, but it was an interesting and rewarding experience. The first version of Runtime editor was released in June 2016 and was pretty simplistic. The current version is much more sophisticated but at the same time much more flexible and contains many useful features. If you have any questions or suggestions send them by email to Battlehub@outlook.com or join this support group. I hope you enjoy using the Runtime Editor and it will be useful." - }, - "manual/gizmos.html": { - "href": "manual/gizmos.html", - "title": "| Example Unity documentation", - "keywords": "#Gizmos Docs ##Overview Runtime Gizmos are the runtime 3D controls that are used to manipulate items in the scene. Unlike transform handles, gizmos does not modify the transformation of objects. Instead, they are used to modify colliders, bounding boxes and properties of light and audio sources. All gizmos, their base classes, rendering classes and shaders can be found in /Battlehub/RTEditor/Runtime/RTGizmos and /Battlehub/RTEditor/Content/Runtime/RTGizmos folders. Note In this section, Runtime Gizmos is simply called \"gizmos\". ##Getting Started Here are several simple steps to get started with gizmos: Create a Cube using Create->3D Object->Cube Select Cube. Add Assets BoxColliderGizmo component. Hit Play. Use mouse left-click + drag to resize Box Collider Gizmo. Note that Center and Size properties of Box Collider have been changed. ##Base Gizmo Source code of Base Gizmo can be found in Battlehub/RTEditor/Runtime/RTGizmos/BaseGizmo.cs. This is the base class of Box Gizmo, Sphere Gizmo, Capsule Gizmo and Cone Gizmo. Therefore all these gizmos have following settings: Grid Size – step size used in unit snapping mode (default: 1.0). Line Color – color of line. Handles Color – color of handle (small quad). Selection Color – color of selected handle. Enable Undo – if set to true then gizmo will write all changes to undo stack (default: true). Unit Snap Key – key switching gizmo to unit snapping mode. Target – target object reference; ##Box Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/BoxGizmo.cs. Base class for all gizmos that have box shape: Box Collider Gizmo Skinned Mesh Renderer Gizmo ##Sphere Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/SphereGizmo.cs. Base class for all gizmos that have sphere shape: Sphere Collider Gizmo Pointlight Gizmo Audio Source Gizmo Audio Reverb Zone Gizmo ##Capsule Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/CapsuleGizmo.cs. Base class for all gizmos that have capsule shape: Capsule Collider Gizmo ##Cone Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/ConeGizmo.cs. Base class for all gizmos that have cone shape: Spotlight Gizmo ##Box Collider Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/BoxColliderGizmo.cs. Box Collider Gizmo can be added to object with Box Collider: Create Game Object with Box Collider. Add Box Collider Gizmo component. ##Sphere Collider Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/SphereColliderGizmo.cs. Sphere Collider Gizmo can be added to object with Sphere Collider: Create Game Object with Sphere Collider. Add Sphere Collider Gizmo component. ##Capsule Collider Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/CapsuleColliderGizmo.cs. Capsule Collider Gizmo can be added to object with Capsule Collider: Create Game Object with Capsule Collider. Add Capsule Collider Gizmo component. ##Point Light Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/PointLightGizmo.cs. Point Light Gizmo can be added to Point Light: Create Point Light. Add LightGizmo component. ##Spot Light Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/SpotLightGizmo.cs. Spot Light Gizmo can be added to Spot Light: Create Spot Light. Add LightGizmo component. ##Directional Light Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/DirectionalLightGizmo.cs. Directional Light Gizmo can be added to Directional Light Create Directional Light. Add Light Gizmo component. ##Audio Source Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/AudioSourceGizmo.cs. Audio Source Gizmo can be added to Audio Source Create Audio Source. Add Audio Source Gizmo component. ##Audio Reverb Zone Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/AudioReverbZoneGizmo.cs. Same as AudioSouce Gizmo ##Skinned Mesh Renderer Gizmo Located in Battlehub/RTEditor/Runtime/RTGizmos/SkinnedMeshRendererGizmo.cs. Skinned Mesh Renderer Gizmo can be added to object with SkinnedMesh Create GameObject with SkinnedMeshRenderer. Add Skinned Mesh Renderer Gizmo component." - }, - "manual/hdrp-support.html": { - "href": "manual/hdrp-support.html", - "title": "| Example Unity documentation", - "keywords": "#HD Render Pipeline Support Docs ##Overview The Runtime Editor supports different versions of HD Render Pipeline. ##Getting Started Unpack Assets/Battlehub/6 HDRP Support [Your version].unitypackage. Click Tools->Runtime Editor->Use built-in HD RenderPipelineAsset. Switch Color Space from Gamma to Linear. Create Runtime Editor using Tools->Runtime Editor->Create RTEditor (Optionally Tools->Runtime Editor->Create RTExtensions) Add HDRP support using Tools->Runtime Editor->Add HDRP support for RTEditor (Optionally Tools->Runtime Editor->Add HDRP support for RTExtensions) Hit Play Note Complete demo scene can be found in Assets/Battlehub/RTEditorHDRP/Demo Be sure to unpack Assets/Battlehub/2 RTEditor Demo Note For Transform Handles use Tools->Runtime Handles submenu" - }, - "manual/infrastructure.html": { - "href": "manual/infrastructure.html", - "title": "| Example Unity documentation", - "keywords": "#Common Infrastructure Docs ##Overview Common infrastructure classes and interfaces form core api of runtime editor. Among other there are selection, object lifecycle, tools, undo-redo and drag&drop API's. ##Expose To Editor Add /Battlehub/RTEditor/Runtime/RTCommon/ExposeToEditor component to any Game Object you want to make available for selection and editing. UnityEvents: Selected Event raised when object added to Runtime Selection. Unselected Event raised when object removed from Runtime Selection. Fields & Properties: AddColliders – add colliders to enable selection? (default: true). Bounds Object – reference to the GameObject which will be used to calculate bounds. Custom Bounds – used if BoundsType == Custom. Bounds Type: * Mesh – MeshFilter.mesh.bounds will be used to calculate bounds. * SkinnedMesh – SkinnedMeshRenderer.mesh.bounds to calculate bounds. * Sprite - SpriteRenderer.sprite.bounds will be used to calculate bounds. * RectTransform CalculateRelativeRectTransformBounds method will be used to calculate bounds. * Custom – user defined bounds. * Any – any of the above. ##Event methods Event methods are called for all scripts of game objects with the Expose To Editor component attached. Note RuntimeAwake, RuntimeStart, OnRuntimeDestroy, OnRuntimeActivate, OnRuntimeDeactivate are called in play mode only. See IsPlaying property of IRTE interface using UnityEngine; public class ScriptEventsExample : MonoBehaviour { private void OnRuntimeEditorOpened() { Debug.Log(\"Editor Opened\"); } private void OnRuntimeEditorClosed() { Debug.Log(\"Editor Closed\"); } private void RuntimeAwake() { Debug.Log(\"Awake in play mode\"); } private void RuntimeStart() { Debug.Log(\"Start in play mode\"); } private void OnRuntimeDestroy() { Debug.Log(\"Destroy in play mode\"); } private void OnRuntimeActivate() { Debug.Log(\"Game View activated\"); } private void OnRuntimeDeactivate() { Debug.Log(\"Game View deactivated\"); } } ##IOC /Battlehub/RTEditor/Runtime/RTCommon/IOC is a simple IoC container implementation. Methods: static T Resolve() - resolve dependency of type 'T' static void Register(Func func) - register construction function. static void Register(T instance) - register instance. static void Unregister(Func func) - unregister construction function. static void Register(T instance) - unregister instance. Example 1: using UnityEngine; using Battlehub.RTCommon; public interface IDependency { } public class Dependency : MonoBehaviour, IDependency { void Awake() { IOC.Register(this); } void OnDestroy() { IOC.Unregister(this); } } public class User : MonoBehaviour { void Start() { IDependency dependency = IOC.Resolve(); } } Example 2: using UnityEngine; using Battlehub.RTCommon; [DefaultExecutionOrder(-1)] public class Registrar : MonoBehaviour { void Awake() { IOC.Register(() => { GameObject go = new GameObject(); return go.AddComponent(); }); } private void OnDestroy() { IOC.Unregister(); } } public interface IDependency { } public class Dependency : MonoBehaviour, IDependency { } public class User : MonoBehaviour { void Awake() { IDependency dependency = IOC.Resolve(); } } ##IRTE interface Core editor functions and APIs are accessible through IRTE interface. This interface defined in /Battlehub/RTEditor/Runtime/RTCommon/RTEBase.cs Properties: CameraLayerSettings CameraLayerSettings { get; } - layers used by RTE. IInput Input { get; } - low level input. IRuntimeSelection Selection { get; } - selection functionality. IRuntimeUndo Undo { get; } - undo redo functionality. RuntimeTools Tools { get; } - tools functionality. CursorHelper CursorHelper { get; } - cursor helper. IRuntimeObjects Object { get; } - object lifecycle events. IDragDrop DragDrop { get; } - drag and drop functions. bool IsOpened { get; set; } - is editor opened? bool IsBusy { get; set; } - is editor busy? blocks user input. bool IsPlaymodeStateChanging { get; } - is editor either in play mode, or about to switch to it? bool IsPlaying { get; set; } - is editor currently in play mode? bool IsApplicationPaused { get; } - is application paused? Transform Root { get; } - editor root transform. RuntimeWindow ActiveWindow { get; } - currently active window. RuntimeWindow[] Windows { get; } - all registered windows. Methods: void ActivateWindow(RuntimeWindow window); - active window and associated RTE Components will receive user input. void RegisterCreatedObjects(GameObject[] go); - register created game objects to undo stack. void Duplicate(GameObject[] go); - duplicate objects and register created duplicates to undo stack. void Delete(GameObject[] go); - delete game objects and register this operation to undo stack. Events: RTEEvent PlaymodeStateChanging - raised before play mode change. RTEEvent PlaymodeStateChanged - raised when play mode state changed. RTEEvent ActiveWindowChanged - raised when window activated. RTEEvent WindowRegistered - raised when window registered. RTEEvent WindowUnregistered - raised when window unregistered. RTEEvent IsOpenedChanged - raised when IsOpened property changed. Here is how to get reference to IRTE: using UnityEngine; using Battlehub.RTCommon; public class GetIRTE : MonoBehaviour { void Awake() { IRTE editor = IOC.Resolve(); } } Open example: using UnityEngine; using Battlehub.RTCommon; public class OpenExample : MonoBehaviour { void Start() { IRTE rte = IOC.Resolve(); rte.IsOpened = true; } } Play example: using UnityEngine; using Battlehub.RTCommon; public class PlayExample : MonoBehaviour { void Start() { IRTE rte = IOC.Resolve(); rte.IsPlaying = true; } } Lock user input example: using UnityEngine; using System.Collections; using Battlehub.RTCommon; public class BlockUserInput : MonoBehaviour { IRTE m_rte; void Start() { m_rte = IOC.Resolve(); StartCoroutine(DummyOperation()); } IEnumerator DummyOperation() { yield return new WaitWhile(() => m_rte.IsBusy); m_rte.IsBusy = true; Debug.Log(\"User input locked\"); yield return new WaitForSeconds(5); m_rte.IsBusy = false; Debug.Log(\"User input unlocked\"); } } ##Input Runtime editor, transform handles and gizmos are using IInput interface to access user input. Here is how to get reference to IInput: using UnityEngine; using Battlehub.RTCommon; public class GetIRTE : MonoBehaviour { void Awake() { IInput input = IOC.Resolve().Input; } } IInput has following methods: bool IsAnyKeyDown() float GetAxis(InputAxis axisType) bool GetKeyDown(KeyCode key) bool GetKeyUp(KeyCode key) bool GetKey(KeyCode key) Vector3 GetPointerXY(int pointer) bool GetPointerDown(int button) bool GetPointerUp(int button) bool GetPointer(int button) ##RTE Component /Battlehub/RTEditor/Runtime/RTCommon/RTEComponent is the base class for all transform handles and gizmos. It hold reference to runtime window and check if this window is in active state. ##Runtime Selection IRuntimeSelection interface defined in Assets/Battlehub/RTCommon/Scripts/RuntimeSelection.cs. Here is how subscribe to SelectionChanged event and select object: using UnityEngine; using Battlehub.RTCommon; public class SelectObjectBehaviour : MonoBehaviour { IRuntimeSelection m_selection; void Start() { m_selection = IOC.Resolve().Selection; m_selection.SelectionChanged += OnSelectionChanged; GameObject go = GameObject.CreatePrimitive(PrimitiveType.Capsule); go.AddComponent(); m_selection.activeObject = go; } void OnDestroy() { if (m_selection != null) { m_selection.SelectionChanged -= OnSelectionChanged; } } void OnSelectionChanged(Object[] unselectedObjects) { if (unselectedObjects != null) { for (int i = 0; i < unselectedObjects.Length; ++i) { Object unselected = unselectedObjects[i]; Debug.Log(unselected); } } if (m_selection.objects != null) { for (int i = 0; i < m_selection.objects.Length; ++i) { Object selected = m_selection.objects[i]; Debug.Log(selected); } } } } ##Runtime Objects IRuntimeObjects interface defined in /Battlehub/RTEditor/Runtime/RTCommon/RuntimeObjects.cs. It can be used to track lifecycle events of objects exposed to editor. Methods: IEnumerable Get(bool rootsOnly, bool useCache = true) - call this method to get exposed to editor objects. If rootsOnly parameter set to false it return all objects, otherwise it return objects without parent. If useCache parameter set to false, then full traversal of object tree will be used. Events: event ObjectEvent Awaked - see corresponding MonoBehaviour event. event ObjectEvent Started - see corresponding MonoBehaviour event. event ObjectEvent Enabled - see correspondingMonoBehaviour event. event ObjectEvent Disabled - see corresponding MonoBehaviour event. event ObjectEvent Destroyed - see corresponding MonoBehaviour event. event ObjectEvent Destroying - raised just before Destroyed event. event ObjectEvent MarkAsDestroyedChanged - raised when object marked as destroyed by undo&redo event ObjectEvent MarkAsDestroyedChanging - raised just before MarkAsDestroyedChanged event. event ObjectEvent TransformChanged - position, rotation or localScale changed. event ObjectParentChangedEvent ParentChanged - transform.parent changed. event ObjectEvent NameChanged - object name changed. event ObjectEvent ComponentAdded - raised when new component added. Example: using UnityEngine; using Battlehub.RTCommon; public class ListenAwakeEvent : MonoBehaviour { IRuntimeObjects m_object; void Start() { m_object = IOC.Resolve().Object; m_object.Awaked += OnObjectAwaked; GameObject go = new GameObject(); go.AddComponent(); } void OnDestroy() { if(m_object != null) { m_object.Awaked -= OnObjectAwaked; } } void OnObjectAwaked(ExposeToEditor obj) { Debug.Log(obj); } } ##Runtime Tools RuntimeTools class can be found in /Battlehub/RTEditor/Runtime/RTCommon/RuntimeObjects.cs. Properties: LockObject LockAxes - this object hold aggregated locking state of selected objects. UnityObject ActiveTool - reference to active transform handle or gizmo. Active means that user is currently interacting with it. RuntimeTool Current - The tool that is currently selected for the Scene View: None Move Rotate Scale View Rect Custom RuntimePivotMode PivotMode - Are we in Center or Pivot mode. RuntimePivotRotation PivotRotation - What's the rotation of the tool handle: Global Local If property change, corresponding event is raised: event RuntimeToolsEvent ToolChanged event RuntimeToolsEvent PivotRotationChanged event RuntimeToolsEvent PivotModeChanged event RuntimeToolsEvent LockAxesChanged Here is how to change current tool: using UnityEngine; using Battlehub.RTCommon; public class SwitchToolBehaviour : MonoBehaviour { void Start() { IRTE editor = IOC.Resolve(); editor.Tools.Current = RuntimeTool.Rotate; } } Here is how to lock axes for all selected objects: using UnityEngine; using Battlehub.RTCommon; public class LockAxesForAllObjects : MonoBehaviour { IRTE m_editor; void Start() { m_editor = IOC.Resolve(); m_editor.Selection.SelectionChanged += OnSelectionChanged; m_editor.Tools.ToolChanged += OnToolChanged; } void OnDestroy() { if(m_editor != null) { m_editor.Selection.SelectionChanged -= OnSelectionChanged; m_editor.Tools.ToolChanged -= OnToolChanged; } } void OnToolChanged() { Lock(); } void OnSelectionChanged(Object[] unselectedObjects) { Lock(); } static void Lock() { IRTE editor = IOC.Resolve(); editor.Tools.LockAxes = new LockObject { PositionY = true, RotationX = true, RotationZ = true }; } } ##Runtime Undo IRuntimeUndo interface defined in /Battlehub/RTEditor/Runtime/RTCommon/RuntimeUndo.cs. It is used to record changes, maintain undo/redo stack and perform undo and redo operations. Properties: bool Enabled { get; set; } - is undo & redo enabled? bool CanUndo { get; } - can undo? bool CanRedo { get; } - can redo? bool IsRecording { get; } - are we recording multiple changes? Methods: void BeginRecord() - begin record multiple changes. void EndRecord() - end record multiple changes. Record CreateRecord(UndoRedoCallback redoCallback, UndoRedoCallback undoCallback, PurgeCallback purgeCallback = null, EraseReferenceCallback eraseCallback = null) - generic create record method. void RegisterCreatedObjects(ExposeToEditor[] createdObjects) - register created objects. void DestroyObjects(ExposeToEditor[] destoryedObjects) - register destroy objects operation. void BeginRecordValue(object target, MemberInfo memberInfo) - begin record value. void EndRecordValue(object target, MemberInfo memberInfo) - end record value. void BeginRecordTransform(Transform target) - begin record transform. void EndRecordTransform(Transform target) - end record transform. void AddComponent(ExposeToEditor obj, Type type) - add component and push corresponding record to the stack. void DestroyComponent(Component destroy, MemberInfo[] memberInfo) - destroy component and push corresponding record to the stack. void Redo() - redo. void Undo() - undo. void Purge() - purge all records. All “marked as destroyed” objects will be destroyed. void Erase(object oldRef, object newRef) - replace oldRef with newRef for all records in stack. void Store() - create new stack and store current undo&redo stack. void Restore() - restore previously stored stack. Events: event RuntimeUndoEventHandler BeforeUndo - raised before undo operation. event RuntimeUndoEventHandler UndoCompleted - raised after undo operation. event RuntimeUndoEventHandler BeforeRedo - raised before redo operation. event RuntimeUndoEventHandler RedoCompleted - raised after redo operation. event RuntimeUndoEventHandler StateChanged - raised whenever one of the following operations performed: Store Restore Purge Here is how to record value and then undo changes: using UnityEngine; using System.Reflection; using Battlehub.RTCommon; using Battlehub.Utils; public class RecordValueThenUndoChanges : MonoBehaviour { IRuntimeUndo m_undo; [SerializeField] int m_value = 1; void Start() { m_undo = IOC.Resolve().Undo; m_undo.UndoCompleted += OnUndoCompleted; MemberInfo valueInfo = Strong.MemberInfo((RecordValueThenUndoChanges x) => x.m_value); m_undo.BeginRecordValue(this, valueInfo); m_value = 2; m_undo.EndRecordValue(this, valueInfo); m_undo.Undo(); } void OnDestroy() { if (m_undo != null) { m_undo.UndoCompleted -= OnUndoCompleted; } } void OnUndoCompleted() { Debug.Log(m_value); //1 } } ##Drag And Drop IDragDrop interface defined in /Battlehub/RTEditor/Runtime/RTCommon/DragDrop.cs. It is used as a common interface for all drag & drop operations. Properties: object[] DragObjects { get; } - objects being dragged. object Source { get; } - drag & drop operation source object. bool InProgress { get; } - is drag and drop in progress? Methods: void Reset() - cancel current drag & drop operation. void SetCursor(KnownCursor cursorType) - set cursor. KnownCursor.DropNotAllowed KnownCursor.DropAllowed void RaiseBeginDrag(object source, object[] dragItems, PointerEventData pointerEventData) - begin drag & drop. void RaiseDrag(PointerEventData eventData) - drag. void RaiseDrop(PointerEventData pointerEventData) - end drag & drop. Events: event DragDropEventHander BeginDrag - raised by RaiseBeginDrag method. event DragDropEventHander Drag - raised by RaiseDrag method. event DragDropEventHander Drop - raised by RaiseDrop method. In this example we will handle Drag Drop operation into console window: using Battlehub.RTCommon; using UnityEngine; using UnityEngine.EventSystems; public class ConsoleDragDropHandler : MonoBehaviour { IDragDrop m_dragDrop; RuntimeWindow m_target; void Start() { m_target = IOC.Resolve().GetWindow(RuntimeWindowType.Console); m_dragDrop = IOC.Resolve().DragDrop; m_dragDrop.Drop += OnDrop; } void OnDestroy() { if(m_dragDrop != null) { m_dragDrop.Drop -= OnDrop; } } void OnDrop(PointerEventData pointerEventData) { if(m_target != null && m_target.IsPointerOver) { Debug.Log(m_dragDrop.DragObjects[0]); } } } ##Runtime Window RuntimeWindow class can be found in /Battlehub/RTEditor/Runtime/RTCommon/RuntimeWindow.cs. If you want to extend Runtime Editor with new windows, then they must be inherited from Runtime Window class. Here is how to do it: using Battlehub.RTCommon; using Battlehub.Utils; using UnityEngine; using UnityEngine.EventSystems; public class CustomWindow : RuntimeWindow { protected override void AwakeOverride() { WindowType = RuntimeWindowType.Custom; base.AwakeOverride(); } protected override void OnDestroyOverride() { base.OnDestroyOverride(); } protected override void OnActivated() { base.OnActivated(); Debug.Log(\"On Custom Window Activated\"); } protected override void OnDeactivated() { base.OnDeactivated(); Debug.Log(\"On Custom Window Deactivated\"); } public override void DragEnter(object[] dragObjects, PointerEventData eventData) { base.DragEnter(dragObjects, eventData); Editor.DragDrop.SetCursor(KnownCursor.DropAllowed); Debug.Log(\"On Drag Enter\"); } public override void DragLeave(PointerEventData eventData) { base.DragLeave(eventData); Editor.DragDrop.SetCursor(KnownCursor.DropNotAllowed); Debug.Log(\"On Drag Leave\"); } public override void Drop(object[] dragObjects, PointerEventData eventData) { base.Drop(dragObjects, eventData); Debug.Log(\"On Drop\"); for(int i = 0; i < dragObjects.Length; ++i) { Debug.Log(dragObjects[i]); } } } Note For information on how to register custom window please proceed to -> this <- section" - }, - "manual/menu-control.html": { - "href": "manual/menu-control.html", - "title": "| Example Unity documentation", - "keywords": "#Menu Control Docs ##Overview The Menu control allows hierarchal organization of elements associated with commands. It can be used to implement main and context menu of an application. ##Getting Started Create Canvas Add MenuButton.prefab from /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/ Prefabs to hierarchy. Add Menu.prefab from /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs to hierarchy Set Menu field of the Menu Button: Create Empty Game Object and name it Command Handler Create MenuCmdHandler script and add it to the Command Handler: using UnityEngine; using Battlehub.UIControls.MenuControl; public class MenuCmdHandler : MonoBehaviour { public void OnValidateCmd(MenuItemValidationArgs args) { Debug.Log(\"Validate Command: \" + args.Command); if(args.Command == \"Item Cmd\") { args.IsValid = false; } } public void OnCmd(string cmd) { Debug.Log(\"Run Cmd: \" + cmd); } } Set Action and Validate event handlers of each entry in Items array of the Menu: Hit Play, open the Menu and click Child Item. You should see following output: ##Menu Item Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/MenuItem.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/MenuItem.cs Fields: Selection Color - highlighted color. Text Color - text color. Disabled Selection Color - highlighted color of disabled menu item. Disabled Text Color - text color of disabled menu item. Icon - image. Text - text. Expander - image visible if menu item has sub-menu. Selection - image visible when pointer is over menu item. ##Menu Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/Menu.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/Menu.cs Fields: Items - array of Menu Item Info. Menu Item Prefab - reference to menu item prefab. Anchor - opened menu will be aligned with anchor. Panel - parent of menu items. Canvas Group - required to \"fade-in\" menu. Fade in speed - how much the alpha property changes per second. [Serializable] public class MenuItemInfo { public string Path; //path to menu item e.g. Create/3DObject/Cube public string Text; //menu item text public Sprite Icon; //menu item icon public string Command; //argument passed to Action event handler and Validate event handler public MenuItemEvent Action; //raised when menu item clicked public MenuItemValidationEvent Validate; //event raised when menu opened } ##Main Menu Button This button can be used to open menu. It has three states: normal, pointer over and focused. The transition to the focused state occurs when the menu is opened. The transition to the normal state occurs when the menu is closed. Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/Menu/Prefabs/MenuButton.prefab Script: /Battlehub/RTEditor/Runtime/UIControls/Menu/MenuButton.cs ##Context Menu Trigger This script opens the menu when you click the right mouse button. Script: Assets/Battelhub/UIControls/Menu/Scripts/СontextMenuTrigger.cs" - }, - "manual/rendering.html": { - "href": "manual/rendering.html", - "title": "| Example Unity documentation", - "keywords": "#Rendering Notes ##IRTECamera All transform handles and gizmos use IRTECamera interface in order to be rendered. Camera camera = Window.Camera; IRTEGraphics graphics = IOC.Resolve(); if(graphics != null) { IRTECamera rteCamera = graphics.GetOrCreateCamera(camera CameraEvent.AfterForwardAlpha); m_rteCamera.CommandBufferRefresh += OnCommandBufferRefresh; m_rteCamera.RefreshCommandBuffer(); } protected virtual void OnCommandBufferRefresh(IRTECamera camera) { CommandBuffer cmd = camera.CommandBuffer; //drawing method calls } ##Graphics Layer Camera This is camera created automatically to render gizmos and transform handles. Clear Flags of this camera is set to the Depth only and Culling Mask to Nothing. At the same time RuntimeGraphicsLayers 0-3 will be excluded from Culling Mask of scene camera. Note Runtime Editor use 9 layers [16-24]: for ui, for asset previews and for runtime graphics." - }, - "manual/runtime-editor.html": { - "href": "manual/runtime-editor.html", - "title": "| Example Unity documentation", - "keywords": "#Runtime Editor Docs ##Overview Runtime Editor is the set of scripts and prefabs which help you to create scene editor, game level editor or build your own modeling application. It supports drag & drop, undo & redo and selection api. To implement user interface and core functions runtime editor use transform-handles, gizmos, save load subsystem and three controls: menu, virtualizing tree view and dock panels. Out of the box it has seven Views: Scene View to manipulate objects in the scene. Hierarchy View to display and manipulate object tree. Project View to manage assets and scenes. Inspector View to display and edit object properties. Console View to display information, warnings and errors. Game View main game camera output. Animation View to create and edit the runtime animations. Add More... The Runtime Editor has many ready-to-use property and component editors and it is relatively easy to create new ones. \"Add Component\" drop-down button allows you to add components at runtime. There are also several important dialogs included: Save Scene Dialog. Object Picker. Color Picker. Asset Bundles and Libraries Importer. Manage Projects Dialog. ##Getting Started To get started with Runtime Editor do following: Create new scene and save it. Click Tools->Runtime Editor->Create RTEditor Click \"Yes\" when you see the dialog box asking you to add the Game View Camera script. Create several Game Objects and add Expose To Editor component. Click Tools->Runtime SaveLoad->Config->Build All Hit Play Examples: Note The materials in the sample scenes were converted to Universal Render Pipeline. Be sure to install the Battlehub/1 UniversalRP Support [Version] package before opening the samples. See Universal Render Pipeline Support Docs for details. Install Battlehub/1 Universal RP Support [Your Version] package Install Battlehub/RTEditor Demo package Click Tools->Runtime Editor->Use built-in RenderPipelineAsset, then click \"Yes\" Click Tools->Runtime Editor->Show me examples Open RTEditor scene. Delete Battlehub/RTSL_Data folder. Click Tools->Runtime SaveLoad->Config->Build All Hit Play Few more steps: Create Asset Library Launch runtime editor and click File->Import Assets. Select the built-in asset library created in step 1. Import assets. You will see the imported assets in the project window. Note Demo scene can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/RTEditor ##Main & Context Menu Runtime Editor use Menu control to implement main and context-menu. To extend main menu create static class with [MenuDefinition] attribute and add static methods with [MenuCommand] attribute. using Battlehub.RTCommon; using Battlehub.RTEditor; using Battlehub.UIControls.MenuControl; using UnityEngine; [MenuDefinition] public static class MyMenu { /// add new command to exising menu [MenuCommand(\"MenuWindow/Create My Window\")] public static void CreateMyWindow() { Debug.Log(\"Create My Window\"); } /// add new command to new menu [MenuCommand(\"My Menu/My Submenu/My Command\")] public static void CreateMyMenu() { Debug.Log(\"Create My Menu\"); } /// disable menu item [MenuCommand(\"My Menu/My Submenu/My Command\", validate: true)] public static bool ValidateMyCommand() { Debug.Log(\"Disable My Command\"); return false; } /// replace existing menu item [MenuCommand(\"MenuFile/Close\")] public static void Close() { Debug.Log(\"Intercepted\"); IRuntimeEditor rte = IOC.Resolve(); rte.Close(); } /// Hide existing menu item [MenuCommand(\"MenuHelp/About RTE\", hide: true)] public static void HideAbout() { } } To open context menu with custom commands do following: using Battlehub.RTCommon; using Battlehub.RTEditor; using Battlehub.UIControls.MenuControl; using UnityEngine; public static class MyContextMenu { public static void OpenContextMenu() { IContextMenu contextMenu = IOC.Resolve(); MenuItemInfo cmd1 = new MenuItemInfo { Path = \"My Command 1\" }; cmd1.Action = new MenuItemEvent(); cmd1.Action.AddListener((args) => { Debug.Log(\"Run My Command1\"); IRuntimeEditor editor = IOC.Resolve(); Debug.Log(editor.Selection.activeGameObject); }); MenuItemInfo cmd2 = new MenuItemInfo { Path = \"My Command 2\" }; cmd2.Validate = new MenuItemValidationEvent(); cmd2.Action = new MenuItemEvent(); cmd2.Validate.AddListener((args) => { args.IsValid = false; }); cmd2.Action.AddListener((args) => { Debug.Log(\"Run My Command2\"); }); contextMenu.Open(new[] { cmd1, cmd2 }); } } Built-in context menu populated and opened from Assets/Battlehub/RTEditor/Runtime/RTEditor/ViewModels/ProjectFolderViewModel.cs and ProjectTreeViewModel.cs ##RTEDeps The main purpose of the Assets/Battlehub/RTEditor/Runtime/RTEditor/RTEDeps.cs class is to register various services into IOC: IResourcePreviewUtility - create preview for Game Object or asset. IWindowManager - manage build-in and custom windows. IContextMenu - create and show context menu. IRuntimeConsole - log messages cache. IRuntimeEditor - the main interface of the RuntimeEditor. ##IRuntimeEditor IRuntimeEditor inherits the IRTE interface and adds several important methods and events. using Battlehub.RTCommon; using Battlehub.RTEditor; using UnityEngine; public class GetRuntimeEditor : MonoBehaviour { void Start() { IRuntimeEditor editor = IOC.Resolve(); } } Events: event RTEEvent SceneLoading - fired before loading the scene. event RTEEvent SceneLoaded - fired after loading the scene. event RTEEvent SceneSaving - fired before saving the scene. event RTEEvent SceneSaved - fired before saving the scene. Methods: void NewScene(bool confirm = true) - create a new scene (show the confirmation dialog by default). void SaveScene() - save the current scene. If the scene is new, the save scene dialog will appear. void CreateWindow(string window) - call corresponding method of window manager. void CreateOrActivateWindow(string window) - this method creates a window only if it does not exist. ProjectAsyncOperation CreatePrefab(ProjectItem folder, ExposeToEditor obj, bool? includeDeps = null) - create prefab with preview. ProjectAsyncOperation SaveAssets(UnityObject[], Action) - save assets. ProjectAsyncOperation DeleteAssets(ProjectItem[] projectItems) - delete assets. ProjectAsyncOperation UpdatePreview(UnityObject obj) - update asset preview. Example: using Battlehub.RTCommon; using Battlehub.RTEditor; using Battlehub.RTSL.Interface; using System.Threading.Tasks; using UnityEngine; public class IRuntimeEditorMethodsUsageExample : EditorExtension { protected override async void OnInit() { base.OnInit(); //Get runtime editor IRuntimeEditor editor = IOC.Resolve(); IProjectAsync project = IOC.Resolve(); while (!project.State.IsOpened) { await Task.Yield(); } //Create Prefabs folder ProjectItem[] folders = await project.CreateFoldersAsync(new[] { \"Prefabs\" }); //Create new object and hide it from hierarchy GameObject go = GameObject.CreatePrimitive(PrimitiveType.Sphere); go.hideFlags = HideFlags.HideAndDontSave; go.SetActive(false); //Create prefab with preview and destroy source object await editor.CreatePrefabAsync(folders[0], go.AddComponent(), true); Destroy(go); //Load prefab GameObject loadedGo = await project.Load_Async(\"Prefabs/Sphere\"); //... Make changes //Update preview await editor.UpdatePreviewAsync(loadedGo); //Save changes await editor.SaveAssetsAsync(new[] { loadedGo }); //Get corresponding project item ProjectItem projectItem = project.Utils.ToProjectItem(loadedGo); //Delete prefab and clear undo stack await editor.DeleteAssetsAsync(new[] { projectItem }); //Delete folders await project.DeleteAsync(folders); } } ##Window Manager Window Manager allows you to create complex windows, such as an inspector or scene, and simple dialogs, such as a message box or confirmation. The difference between dialog and window is rather subtle. The content of the dialog can be anything, and it can not be docked. To be considered as a window or dialog window, a Runtime Window component must be attached to the game object. When the runtime window is activated, the other windows are deactivated. The dialog cannot deactivate the window. Note Default windows and dialogs can be found in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/Prefabs Note Window Manager use dock panels control. Get window manager: using Battlehub.RTCommon; using Battlehub.RTEditor; using UnityEngine; public class GetWindowManager : MonoBehaviour { void Start() { IWindowManager wm = IOC.Resolve(); } } Show message box: ```C# wm.MessageBox(\"Header\", \"Text\", (sender, args) => { Debug.Log(\"OK Click\"); }); ``` Show confirmation: ```C# wm.Confirmation(\"Header\", \"Text\", (sender, args) => { Debug.Log(\"Yes click\"); }, (sender, args) => { Debug.Log(\"No click\"); }, \"Yes\", \"No\"); ``` Activate window: ```C# wm.ActivateWindow(BuiltInWindowNames.Scene); ``` Create window: ```C# wm.CreateWindow(BuiltInWindowNames.Scene); ``` Create dialog window: ```C# IWindowManager wm = IOC.Resolve (); wm.CreateDialogWindow(BuiltInWindowNames.About, \"Header\", (sender, args) => { Debug.Log(\"OK\"); }, (sender, args) => { Debug.Log(\"Cancel\"); }); ``` Set default layout: ```C# IWindowManager wm = IOC.Resolve (); string persistentLayoutName = wm.DefaultPersistentLayoutName; if (wm.LayoutExist(persistentLayoutName)) { wm.DeleteLayout(persistentLayoutName); } wm.SetDefaultLayout(); ##How to: add custom window to Window Manager > [!NOTE] > For information on how to create custom window please navigate to this -> [this](infrastructure.md#runtime-window) <- section 1. Click Tools->Runtime Editor->Create Custom Window. ![Screenshot](~/resources/img/rteditor/window-manager/custom-window-menu.png) 2. Enter MyCustomWindow.prefab and click Save. 3. Enter MyNamespace namespace and click OK. 3. Add __RegisterMyCustomWindow__ component created in step 1. 4. Drag & Drop MyCustomWindow.prefab to Prefab field of RegisterMyCustomWindow script. 5. Click Play. 6. You should be able to open custom window using main menu. ![Screenshot](~/resources/img/rteditor/window-manager/custom-window-created.png) 7. Use [UnityWeld] (https://github.com/Real-Serious-Games/Unity-Weld). ##How to: override default layout To override default layout do following: 1. Create a script derived from LayoutExtension. 2. Override `GetLayoutInfo` method. 3. Create a new game object and add created script. 4. To prevent the game object from being destroyed by [Save & Load](save-load.md) add __RTSLIgnore__ component. ![Screenshot](~/resources/img/rteditor/window-manager/layout-override.png) ``` C# using Battlehub.UIControls.DockPanels; namespace Battlehub.RTEditor.Examples.Layout { /// /// Creates three colums layout (inspector, (scene, hierarchy)) /// public class ThreeColumsLayoutExample : LayoutExtension { protected override LayoutInfo GetLayoutInfo(IWindowManager wm) { LayoutInfo scene = wm.CreateLayoutInfo(BuiltInWindowNames.Scene); scene.IsHeaderVisible = true; LayoutInfo hierarchy = wm.CreateLayoutInfo(BuiltInWindowNames.Hierarchy); LayoutInfo inspector = wm.CreateLayoutInfo(BuiltInWindowNames.Inspector); //Defines a region divided into two equal parts (ratio 1 / 2) LayoutInfo sceneAndHierarchy = LayoutInfo.Horizontal(scene, hierarchy, ratio: 1/2.0f); //Defines a region divided into two parts //1/3 for the inspector and 2/3 for the scene and hierarchy) LayoutInfo layoutRoot = LayoutInfo.Horizontal(inspector, sceneAndHierarchy, ratio: 1/3.0f); return layoutRoot; } } } You should see following: ##How to: override scene parameters To override scene parameters do following: Create ScenesSetupExample script. Override Extend method and WindowTypeName property. Create a new game object and add created script. To prevent the game object from being destroyed by Save & Load add RTSLIgnore component. using Battlehub.RTCommon; using Battlehub.RTHandles; using UnityEngine; namespace Battlehub.RTEditor.Examples.SceneSetup { /// /// This extension initializes 2D scene window /// public class ScenesSetupExample : RuntimeWindowExtension { /// /// Type of window to be extended /// public override string WindowTypeName => BuiltInWindowNames.Scene; protected override void Extend(RuntimeWindow window) { //get a reference to the IRuntimeSceneComponent of the window IRuntimeSceneComponent sceneComponent = window.IOCContainer.Resolve(); //This is the point the camera looks at and orbiting around sceneComponent.Pivot = Vector3.zero; //Switch the scene component and scene camera to orthographic mode sceneComponent.IsOrthographic = true; //Disable scene gizmo sceneComponent.IsSceneGizmoEnabled = false; //Disable rotation sceneComponent.CanRotate = false; //Disable free move sceneComponent.CanFreeMove = false; //Prevent camera position changes when zooming in and out sceneComponent.ChangeOrthographicSizeOnly = true; //Set initial orthographic size sceneComponent.OrthographicSize = 5.0f; //Set camera position according to window.Args const float distance = 100; sceneComponent.CameraPosition = -Vector3.forward * distance; } } } ##How to: override tools panel To override tools panel do following: Create ToolsPanelOverride script. Create game object and add ToolsPanelOverride component. Set Tools Prefab field To prevent the game object from being destroyed by Save & Load add RTSLIgnore component. using Battlehub.RTCommon; using Battlehub.RTEditor; using UnityEngine; public class ToolsPanelOverrideExample : EditorExtension { [SerializeField] private Transform m_toolsPrefab = null; protected override void OnEditorCreated(object obj) { OverrideTools(); } protected override void OnEditorExist() { OverrideTools(); IRuntimeEditor editor = IOC.Resolve(); if (editor.IsOpened) { IWindowManager wm = IOC.Resolve(); if (m_toolsPrefab != null) { wm.SetTools(Instantiate(m_toolsPrefab)); } else { wm.SetTools(null); } } } private void OverrideTools() { IWindowManager wm = IOC.Resolve(); wm.OverrideTools(m_toolsPrefab); } } You should see following: ##How to: override ui scale To override ui scale do following: Create UIScaleOverride script. Create game object and add UIScaleOverride component. Set desired Scale To prevent the game object from being destroyed by Save & Load add RTSLIgnore component. using Battlehub.RTCommon; using Battlehub.RTEditor; using UnityEngine; public class UIScaleOverride : EditorExtension { [SerializeField] private float Scale = 2; protected override void OnEditorExist() { ISettingsComponent settings = IOC.Resolve(); settings.UIScale = Scale; } } Before: After: ##How to: change runtime editor colors RTE Appearance editor allows you to change colors of runtime editor. Reset Colors button will revert colors to default. Following resources must be modified also: To override ui colors programmatically do following: Create UIColorsOverride script. Create game object and add UIColorsOverride component. To prevent the game object from being destroyed by Save & Load add RTSLIgnore component. using Battlehub.RTCommon; using UnityEngine; namespace Battlehub.RTEditor.Demo { public class UIColorsOverride : EditorExtension { protected override void OnEditorExist() { ISettingsComponent settings = IOC.Resolve(); settings.SelectedThemeIndex = -1; RTEColors colors = new RTEColors(); colors.Primary = Color.red; IRTEAppearance appearance = IOC.Resolve(); appearance.Colors = colors; } } } ##File Importers File importers are used during file import procedure to convert external file format to format supported by Runtime Editor. For example .png images should be converted to UnityEngine.Texture2D before import. Note Unpack Battlehub/3 RTEditor Importer package FileBrowser with importers can be opened using File->Import From File menu item To write custom importer do following. Create new script and inherit your class from ProjectFileImporterAsync: using Battlehub.RTCommon; using Battlehub.RTSL.Interface; using System; using System.IO; using System.Threading; using System.Threading.Tasks; using UnityEngine; using UnityObject = UnityEngine.Object; namespace Battlehub.RTEditor { public class JpgImporterExample : ProjectFileImporterAsync { public override string FileExt { get { return \".jpg\"; } } public override string IconPath { get { return \"Importers/Jpg\"; } } public override Type TargetType { get { return typeof(Texture2D); } } public override async Task ImportAsync( string filePath, string targetPath, IProjectAsync project, CancellationToken cancelToken) { byte[] bytes = filePath.Contains(\"://\") ? await DownloadBytesAsync(filePath) : File.ReadAllBytes(filePath); Texture2D texture = new Texture2D(4, 4); try { if (texture.LoadImage(bytes, false)) { IResourcePreviewUtility previewUtility = IOC.Resolve(); byte[] preview = previewUtility.CreatePreviewData(texture); using (await project.LockAsync()) { await project.SaveAsync(targetPath, texture, preview); } } else { throw new FileImporterException($\"Unable to load image {filePath}\"); } } catch (Exception e) { throw new FileImporterException(e.Message, e); } finally { UnityObject.Destroy(texture); } } } } Note Currently File Browser supported on Windows platform only ##Inspector View The main purpose of the inspector is to create different editors depending on the type of selected object and its components. Here is a general idea of what is happening: The user selects a Game Object, and the inspector creates a GameObject editor. The game object editor creates component editors. Each component editor creates property editors. Prefabs: InspectorView can be found in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/ Prefabs/Views folder, GameObject, Material and Component editors in Assets/Battlehub/RTEditor/Content/ Runtime/RTEditor/Prefabs/Editors, Property editors in Assets/Battlehub/RTEditor/Content/Runtime/RTEditor/Prefabs/ Editors/PropertyEditors. ##How To: Configure Editors To select the editors to be used by the inspector, click Tools->Runtime Editor->Configuration There are five sections in configuration window: Object Editors - select which editor to use for Game Object. Property Editors - select which editors to use for component properties. Material Editors - select which editors to use for materials Standard Component Editors – select which editors to use for standard components. Script Editors – select which editors to use for scripts. After you select and enable the desired component editors, click the Save Editors Map button ##How To: Select Component Properties To select the properties displayed by the component editor, you need to create a class and inherit it from ComponentDescriptorBase< > . After that, you need to implement the GetProperties method. It should return PropertyDescriptors for all properties that will be present in the component editor ui. Here is an example of TransformComponentDescriptor: using UnityEngine; using System.Reflection; using Battlehub.Utils; using Battlehub.RTCommon; namespace Battlehub.RTEditor { public class TransformComponentDescriptor : ComponentDescriptorBase { public override object CreateConverter(ComponentEditor editor) { object[] converters = new object[editor.Components.Length]; Component[] components = editor.Components; for (int i = 0; i < components.Length; ++i) { Transform transform = (Transform)components[i]; if (transform != null) { converters[i] = new TransformPropertyConverter { ExposeToEditor = transform.GetComponent() }; } } return converters; } public override PropertyDescriptor[] GetProperties( ComponentEditor editor, object converter) { object[] converters = (object[])converter; MemberInfo position = Strong.PropertyInfo( (Transform x) => x.localPosition, \"localPosition\"); MemberInfo positionConverted = Strong.PropertyInfo( (TransformPropertyConverter x) => x.LocalPosition, \"LocalPosition\"); MemberInfo rotation = Strong.PropertyInfo( (Transform x) => x.localRotation, \"localRotation\"); MemberInfo rotationConverted = Strong.PropertyInfo( (TransformPropertyConverter x) => x.LocalEuler, \"LocalEulerAngles\"); MemberInfo scale = Strong.PropertyInfo( (Transform x) => x.localScale, \"localScale\"); MemberInfo scaleConverted = Strong.PropertyInfo( (TransformPropertyConverter x) => x.LocalScale, \"LocalScale\"); return new[] { new PropertyDescriptor( \"Position\",converters, positionConverted, position), new PropertyDescriptor( \"Rotation\", converters, rotationConverted, rotation), new PropertyDescriptor( \"Scale\", converters, scaleConverted, scale) }; } } } TransformPropertyConverter is used to convert a quaternion to Euler angles. This is needed for Vector3Editor to be used instead of QuaternionEditor. Note The remaining built-in component descriptors are in the Assets/Battlehub/RTEditor/Runtime/RTEditor/Editors/ComponentDescriptors folder. ##Resource Preview Utility The Resource Preview utility is used to create a preview of objects. This is how to use it: using Battlehub.RTCommon; using UnityEngine; using UnityEngine.UI; namespace Battlehub.RTEditor.Demo { public class CreatePreviewExample : MonoBehaviour { [SerializeField] private Image m_image = null; [SerializeField] private Object m_object = null; private Texture2D m_previewTexture; private Sprite m_previewSprite; private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { IResourcePreviewUtility previewUtil = IOC.Resolve(); if (m_previewTexture != null) { Destroy(m_previewTexture); } if (m_previewSprite != null) { Destroy(m_previewSprite); } if(previewUtil.CanCreatePreview(m_object)) { m_previewTexture = previewUtil.CreatePreview(m_object); m_previewSprite = Sprite.Create(m_previewTexture, new Rect(0, 0, m_previewTexture.width, m_previewTexture.height), new Vector2(0.5f, 0.5f)); m_image.sprite = m_previewSprite; } } } private void OnDestroy() { if (m_previewSprite != null) { Destroy(m_previewSprite); } if (m_previewTexture != null) { Destroy(m_previewTexture); } } } }" - }, - "manual/save-load.html": { - "href": "manual/save-load.html", - "title": "| Example Unity documentation", - "keywords": "#Save Load Docs ##Overview The Runtime Save & Load (RTSL) subsystem is required for saving and managing scenes, assets and projects at runtime and consists of three main parts: Persistent Classes - this part allows you to choose what to serialize and generate persistent classes for serialization. Asset Libraries - this part allows you to create and manage assets, as well as provide information to the RTSL to identify these assets. Project - this part provides api to interact with RTSL. Note RTSL use protobuf.net for serialization. ##Getting Started After importing RTSL you will see the configuration window: After clicking \"Build All\", several folders will be created under /Battlehub/RTSL_Data Scripts for serializable persistent classes. Custom Implementation for user defined persistent classes. Mappings for mappings between types that must be stored and serializable persistent types. Libraries for asset libraries and shader profiles. Note RTSLTypeModel.dll contains protobuf-net type model. Due to unity scripting restrictions, runtime type model need to be pre-complied before using at runtime. Create a new scene. Drag and Drop Assets/Battlehub/RTEditorDemo/Content/Runtime/RTEditor/DemoGame/ Prefabs/Game.prefab to hierarchy. Click Tools->Runtime SaveLoad->Update Libraries Click Tools->Runtime SaveLoad->Create RTSL Create RTSLExample script and add it to the Game Object created at previous step. Hit play. Save scene using 'M' key. Load scene using 'L' key. using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; using Battlehub.RTCommon; using Battlehub.RTSL.Interface; public class RTSLExample : MonoBehaviour { IProject m_project; IEnumerator Start() { m_project = IOC.Resolve(); yield return m_project.OpenProject(\"My Project\"); yield return m_project.CreateFolder(\"Scenes/Demo\"); } IEnumerator SaveScene() { ProjectAsyncOperation ao = m_project.Save(\"Scenes/Demo/Scene\", SceneManager.GetActiveScene()); yield return ao; if(ao.Error.HasError) { Debug.LogError(ao.Error.ToString()); } } IEnumerator LoadScene() { ProjectAsyncOperation ao = m_project.Load(\"Scenes/Demo/Scene\"); yield return ao; if (ao.Error.HasError) { Debug.LogError(ao.Error.ToString()); } } void Update() { if (Input.GetKeyDown(KeyCode.M)) { StartCoroutine(SaveScene()); } if (Input.GetKeyDown(KeyCode.L)) { if (m_project.Exist(\"Scenes/Demo/Scene\")) { StartCoroutine(LoadScene()); } } } } Saved scene can be found in PersistentDataPath/My Project/Assets/Scenes/Demo folder. Note Only several persistent classes enabled by default. Use Persistent Classes Editor Window to enable more. Note Demo scene can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/RTSL folder. ##Persistent Classes Persistent Class is a class derived from Persistent Surrogate and has the [ProtoContract] attribute . The main purpose of persistent classes is to give you complete control over what to save and how to save, without having to use reflection and without writing a lot of boilerplate code. To open persistent classes editor, click Tools->Runtime SaveLoad->Persistent Classes->Edit. Here is the persistent classes editor window: This window allows you: Search for types you want to save. Select properties you want to save. Generate C# code of persistent classes. After clicking the \"Create Persistent Classes\" button the following will occur: Persistent classes will be created in Assets/Battlehub/RTSL_Data/Scripts/PersistentClasses. ![Screenshot](~/resources/img/save-load/persistent-classes/persistent-classes-folder.png)

            The editor window state will be saved in Assets/Battlehub/RTSL_Data/Mappings/Editor. ![Screenshot](~/resources/img/save-load/persistent-classes/mappings-folder.png)

            Custom Implementations will be created in .../RTSL_Data/Scripts/CustomImplementation. ![Screenshot](~/resources/img/save-load/persistent-classes/custom-implementation-folder.png)

            Note To ensure forward compatibility of saved files, never delete the ClassMappingStorage and SurrogatesMappingsStorage prefabs !!! ##How To: Create Custom Persistent Class In some cases, it is not possible to obtain all data to be saved using public properties and fields. For example, some data can only be retrieved using methods. If you need to write your own code to save and load data, follow these steps: Open Persistent Classes Editor. Find and select required type. Select \"Custom Implementation\" ![Screenshot](~/resources/img/save-load/persistent-classes/create-custom-implementation.png)

            Click Create Persistent Classes button. Click Edit Custom Implementation button. ![Screenshot](~/resources/img/save-load/persistent-classes/edit-custom-implementation.png)

            You should see following: #if !RTSL_MAINTENANCE using Battlehub.RTSL; namespace UnityEngine.Battlehub.SL2 { [CustomImplementation] public partial class PersistentJoint { /* public override void ReadFrom(object obj) { base.ReadFrom(obj); } public override object WriteTo(object obj) { return base.WriteTo(obj); } public override void GetDeps(GetDepsContext context) { base.GetDeps(context); } public override void GetDepsFrom(object obj, GetDepsFromContext context) { base.GetDepsFrom(obj, context); } */ } } #endif There are four methods that can be implemented: void ReadFrom(object obj) - called before serialization. Read the data from obj and save it to the fields of the persistent object. object WriteTo(object obj) - called after deserialization. Write stored data to obj. void GetDeps(GetDepsContext context) - return IDs of dependencies. void GetDepsFrom(object obj, GetDepsFromContext context) - get dependencies from obj. Implementation of PersistentJoint may look like this: #if !RTSL_MAINTENANCE using Battlehub.RTSL; namespace UnityEngine.Battlehub.SL2 { [CustomImplementation] public partial class PersistentJoint { [ProtoBuf.ProtoMember(1)] private TID m_connectedBody; [ProtoBuf.ProtoMember(2)] private PersistentVector3 m_anchor; //..... more fields public override void ReadFrom(object obj) { base.ReadFrom(obj); Joint joint = (Joint)obj; if (joint == null) { return; } m_connectedBody = ToID(joint.connectedBody); m_anchor = joint.anchor; //... read other fields } public override object WriteTo(object obj) { obj = base.WriteTo(obj); Joint joint = (Joint)obj; if (joint == null) { return obj; } joint.connectedBody = FromID(m_connectedBody); joint.anchor = m_anchor; //... write other fields return joint; } public override void GetDeps(GetDepsContext context) { base.GetDeps(context); AddDep(m_connectedBody, context); //... get other dependencies } public override void GetDepsFrom(object obj, GetDepsFromContext context) { base.GetDepsFrom(obj, context); Joint joint = (Joint)obj; if (joint == null) { return; } AddDep(joint.connectedBody, context); //... get other dependencies } } } #endif Note Click Tools-> Runtime SaveLoad->Config->Build All every time you finish making changes to the persistent classes and are ready to build your application. ##Asset Library Game objects in any scene refer assets such as materials, meshes, textures, etc. Identifiers of these assets obtained using GetInstanceID() method do not remain constant and can change. Asset libraries, in contrast, are used to store unique asset identifiers that never change. There are two special asset libraries: Built-in asset library - contains Unity build-in assets. Scene asset library - contains assets referenced by scene Game Objects. Both libraries created automatically by clicking Tools->Runtime SaveLoad->Update Libraries Note Scene asset libraries are referenced using the scene name. This means that scenes must have unique names. Note Click Tools->Runtime SaveLoad->Update Libraries each time you have finished making changes to the scene and are ready to run the application. ##How To: Create Asset Library If the built-in asset library and scene dependency library are not sufficient, and the new resources must be Resource.Loaded at runtime, you can create a new asset library by clicking Create -> Runtime SaveLoad -> Runtime Asset Library in the context menu. Note An asset library must be created inside the Resources folder. Use drag & drop to add assets to asset library Note One asset library can contain no more than 65535 assets. If you change hierarchy of one or more prefabs, you will be asked to synchronize the assets library. Do it by clicking Synchronize button. ##Project Item & Asset Item Project Items are used to create tree structures representing the project tree. [ProtoContract] [ProtoInclude(1, typeof(AssetItem))] public class ProjectItem { [ProtoMember(2)] public long ItemID; [ProtoMember(3)] public Guid ItemGUID; public string Name; public string Ext; public ProjectItem Parent; public List Children; // ... Asset Items are meta representations of assets in a project. They are stored in *.rtmeta files. [ProtoContract] public class AssetItem : ProjectItem { public event EventHandler PreviewDataChanged; [ProtoMember(1)] public Guid TypeGuid; [ProtoMember(2)] public PrefabPart[] Parts; [ProtoMember(3)] public long[] Dependencies; [ProtoMember(4, IsRequired = true)] public long CustomDataOffset = -1; [ProtoMember(5)] public Guid[] DependenciesGuids; private Preview m_preview; public Preview Preview { get { return m_preview; } set { if (m_preview != value) { m_preview = value; if (PreviewDataChanged != null) { PreviewDataChanged(this, EventArgs.Empty); } } } } public override bool IsFolder { get { return false; } } } ##Project IProject is the main interface of the RTSL library. Here is how to access it: using Battlehub.RTCommon; using Battlehub.RTSL.Interface; void Awake() { IProject project = IOC.Resolve(); } Open project: ``` C# using System.Collections; using Battlehub.RTCommon; using Battlehub.RTSL.Interface; IEnumerator Start() { IProject project = IOC.Resolve (); yield return project.OpenProject(\"My Project\"); }
            Close project: ``` C# m_project.CloseProject(); Delete project: ``` C# yield return project.DeleteProject(\"My Project\"); ``` Create folder: ``` C# yield return project.CreateFolder(\"My Scenes\"); ``` Delete folder: ``` C# yield return project.DeleteFolder(\"My Scenes\"); ``` Save scene: ``` C# using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; using Battlehub.RTCommon; using Battlehub.RTSL.Interface; IEnumerator Start() { //... ProjectAsyncOperation ao = project.Save(\"My Scenes/Scene 1\", SceneManager.GetActiveScene()); yield return ao; if (ao.Error.HasError) { Debug.LogError(ao.Error.ToString()); } }
            Load scene: ``` C# using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; using Battlehub.RTCommon; using Battlehub.RTSL.Interface; IEnumerator Start() { //... ProjectAsyncOperation ao = project.Load(\"My Scenes/Scene 1\"); yield return ao; if (ao.Error.HasError) { Debug.LogError(ao.Error.ToString()); } } Delete scene: ``` C# yield return project.Delete (\"My Scenes/Scene 1\"); ``` Find objects of type: ``` C# foreach(string scene in project.Find (\"Scene 1\")) { Debug.Log(scene); }
            Create Prefab: ``` C# GameObject primitive = GameObject.CreatePrimitive(PrimitiveType.Capsule); yield return project.Save(\"Capsule\", primitive); Destroy(primitive); Load and instantiate Prefab: ``` C# ProjectAsyncOperation ao = project.Load (\"Capsule\"); yield return ao; if(!ao.Error.HasError) { Instantiate(ao.Result[0]); }
            Import all assets from asset bundle: ``` C# //get names of asset bundles from Assets/StreamingAssets folder. ProjectAsyncOperation ao = project.GetAssetBundles(); yield return ao; //load ImportItems from first asset bundle ProjectAsyncOperation loadAo = project.LoadImportItems(ao.Result[0], false); yield return loadAo; if (!loadAo.Error.HasError) { //create previews here... //then unload asset bundle assets project.UnloadImportItems(loadAo.Result); //import all yield return project.Import(loadAo.Result.Flatten(true).OfType().ToArray()); } //log all asset items in project foreach(string path in project.Find(string.Empty, true)) { Debug.Log(path); }" - }, - "manual/transform-handles.html": { - "href": "manual/transform-handles.html", - "title": "| Example Unity documentation", - "keywords": "#Transform Handles Docs ##Overview Runtime Transform Handles are the runtime 3D controls that are used to manipulate items in the scene. There three built-in transform tools to position, rotate and scale object via transform component. Another special built-in tool - the rect tool allows you to move and change scale of game objects. Supplementary controls such as scene gizmo, selection gizmo and grid allows to change viewing angle and projection mode, identify selected objects and orientate in scene space. Another important components: selection component, scene component and handles component allows to select objects, navigate in scene and change transform handles appearance. Scripts, prefabs and example scenes for transform handles can be found in Assets/Battlehub/RTHandles folder. Note Runtime Transform Handles are simply referred as transform handles through this text Here is how transform handles and components rendered in the game view: All in one: ##Getting Started Here are four simple steps to get started with transform handles: Create transform handles using Tools->Runtime Handles->Create. Create and select Game Object. Enable object editing with Tools->Runtime Handles->Enable Editing. Hit play. After clicking on the game object in the game view you should see the following: Following actions available by default: Action Input Select Left-click Move (Pan) Hold middle mouse button, then drag Flythrough Click and hold the right mouse button. Move around using mouse and WSAD keys. Orbit Hold Alt+left-click, then drag Zoom Use the scroll wheel Undo Shift + Z (Ctrl + Z in player) Redo Shift + Y (Ctrl + Y in player) Note Example scenes can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/RTHandles ##Base Handle This is the base class for position, rotation, scale transform handles. Therefore all transform handles have following settings: Window - reference to the window. Interaction with transform handle allowed only in case referenced window is active. HighlightOnHover - bool value. If true then transform handles will be highlighted on pointer over. Set it to false if touch input is used. (default: true) Appearance - reference to the runtime handles component. Various visual settings. Model - reference to the prefab with BaseHandle model component attached. If Model is set then default rendering procedure will be disabled and prefab instance will be rendered instead. Targets - array of transforms to be modified by transform handle. GridSize - float value used in unit-snapping mode. By default Unit-snapping mode is activated with 'Shift' key. BeforeDrag - event raised before transform handle drag. Drag - event raised each frame during drag and drop operation. Drop - event raised when drag and drop operation completed. ##Position Handle To create a position handle, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/PositionHandle component. The colors and scale of the transform handles can be adjusted using Runtime Handles Component, and the proportions of individual parts such as lines and arrows can be adjusted using the Position Handle Model script attached to PositionHandleModel.prefab. To change the proportions of the position handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/ PositionHandleModel.prefab and add a reference to it using Model field of the Position Handle. Position Handle Model script has following fields: Radius - thickness of the line (default: 0,01). Length - lenght of the line (default: 1). Arrow Radius - radius of the arrow (default 0,075). Arrow Length - lenght of the arrow (default 0,2). Quad Length - size of xy, xz and yz quads (default 0,2). Adjustments example: ##Rotation Handle To create a rotation handle, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/RotationHandle component. The colors and scale of the transform handles can be adjusted using Runtime Handles Component, and the proportions of individual parts can be adjusted using the Rotation Handle Model script attached to RotationHandleModel.prefab. To change the proportions of the rotation handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/RotationHandleModel.prefab and add a reference to it using Model field of the Rotation Handle. Rotation Handle Model script has following fields: Minor Radius - line thickness (default: 0,0075). Major Radius - x-axis, y-axis, z-axis, inner circle radius (default: 1). Outer Radius - outer circle radius (default: 1,11). Adjustments example: ##Scale Handle To create a scale handle, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/ScaleHandle component. The colors and scale of the transform handles can be adjusted using Runtime Handles Component, and the proportions of individual parts can be adjusted using the Scale Handle Model script attached to ScaleHandleModel.prefab. To change the proportions of the scale handle, modify Assets/Battlehub/RTEditor/Content/Runtime/RTHandles/Prefabs/ScaleHandleModel.prefab and add a reference to it using Model field of the Scale Handle. Scale Handle Model script has following fields: Radius - line thickness (default: 0,01). Length - line length (default: 1). Arrow Radius - cap size (default: 0,05). Adjustments example: ##Rect Tool To create a rect tool, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/RectTool component. Set Targets field. The colors and scale of the rect tool can be adjusted using Runtime Handles Component. ##Locking Axes The Assets/Battlehub/RTEditor/Runtime/RTCommon/LockAxes component prevents the modification of certain transformations with the position, rotation or scale handles. Attach it to selectable Game Object and choose axes you want to lock. ##Scene Gizmo To create a scene gizmo, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/SceneGizmo component. Scene gizmo script has following fields: Window - reference to the window. Interaction with scene gizmo allowed only in case referenced window is active. Btn Projection - UGUI button to switch between orthographic and perspective projection (default: None). Pivot - transformation of the object around which the camera rotates. Size - scene gizmo rect size (default: 96,96). Pivot Point - scene gizmo rect pivot point (default: 1,0). Anchor - scene gizmo rect anchor (default: 1,0). Appearance - reference to the runtime handles component. Various visual settings. Orientation Changing - event fires when camera rotation and position are about to be changed. Orientation Changed - event fires when camera rotation and position are changed. Projection Changed - event fires when camera projection changed. ##Grid To create a grid, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/SceneGrid component. To change color of the grid use Grid Color field of runtime handles component. ##Runtime Handles Component Use this script to change appearance of transform handles: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/RuntimeHandlesComponent component Runtime Handles Component script has following fields: Colors - transform handles, scene gizmo, selection gizmo and grid colors. Handle Scale - transform handles scale (default: 1). Scene Gizmo Scale - scale of the scene gizmo (default: 1). Selection Margin - scale of clickable area around transform handle axes (default: 1). Invert Z Axis - invert position handle z-axis (default: false). Position Handle Arrows Only - hide xy, yz and xz quads (default: false). ##Runtime Selection Component This is the implementation of default selection behavior. To enable default selection behavior: Create a new Game Object. Add Assets/Battlehub/RTHandles/Scripts/RuntimeSelectionComponent. Choose objects you want to make selectable and click Tools->Runtime Handles->Enable Editing. Alternatively add Assets/Battlehub/RTEditor/Runtime/RTCommon/ExposeToEditor. To visualize selection add OutlineManager to object with Runtime Selection Component. Following actions defined in Assets/Battlehub/RTHandles/Scripts/Input/RuntimeSelectionInput : Action Input Select Left-click Select multiple Hold Shift + left-click (Ctrl + left-click in player) Select all Hold Shift + A (Ctrl + A in player) Runtime Selection Component script has following fields: Window - window reference. Position Handle - position handle reference. Rotation Handle - rotation handle reference. Scale Handle - scale handle reference. Rect Tool - rect tool reference. Box Selection - box selection reference. Grid - scene grid reference. To switch between transform handles using Q W E R T keys, do the following : Add Assets/Battlehub/RTEditor/Runtime/RTHandles/Input/RuntimeToolsInput component. Note If you wish to switch between transform handles programmatically proceed to -> this <- section. Note If you wish to change selection programmatically proceed to -> this <- section. ##Box Selection To create a Box Selection, do the following: Create a new Game Object. Add Assets/Battlehub/RTEditor/Runtime/RTHandles/BoxSelection component. Note Game Objects without ExposeToEditor component are invisible to Box Selection. Note Box Selection use Runtime Selection API to store selected objects. Box Selection has following fields: Window - reference to the window. Graphics - sprite which is used to render box selection. Use Camera Space - use camera space for rendering (true) or screen space (false) (default:true) Box Selection Method - box selection method: Vertex - use MeshFilter.sharedMesh.vertices (default); Loose Fitting - use renderer bounds and collider (default); Bounds Center - use bounds center; Transform Center - use transform center; Use following code to filter objects selected using Box Selection: using Battlehub.RTHandles; using UnityEngine; //In this example objects with name \"Capsule\" are filtered out public class FilteringBehaviour : MonoBehaviour { [SerializeField] private BoxSelection m_boxSelection; private void Start() { m_boxSelection.Filtering += OnFiltering; } private void OnDestroy() { if (m_boxSelection != null) { m_boxSelection.Filtering -= OnFiltering; } } private void OnFiltering(object sender, FilteringArgs e) { if (e.Object.name == \"Capsule\") { e.Cancel = true; } } } ##Runtime Scene Component Runtime Scene Component extends Runtime Selection Component and enables mouse orbiting, movement and zoom. To create a Runtime Scene Component, do the following: Create a new Game Object Add Assets/Battlehub/RTEditor/Runtime/RTHandles/RuntimeSelectionComponent. Runtime Scene Component has following fields: View Texture - cursor which is visible during mouse orbiting. Move Texture - cursor which is visible during movement. Free Move Texture - cursor which is visibile in flythrough mode. Scene Gizmo - reference to the Scene Gizmo. Actions defined in Battlehub/RTEditor/Runtime/RTHandles/Input/RuntimeSceneInput : Action Input Focus Press F Snap To Grid Press Shift + G (Ctrl + G in player) Move (Pan) Hold middle or right mouse button, then drag Flythrough Click and hold the right mouse button. Move around using mouse and WSAD keys. Orbit Hold Alt+left-click, then drag Zoom Use the scroll wheel" - }, - "manual/urp-support.html": { - "href": "manual/urp-support.html", - "title": "| Example Unity documentation", - "keywords": "#Universal Render Pipeline Support Docs ##Overview The Runtime Editor supports different versions of Unversal Render Pipeline. ##Getting Started Unpack Assets/Battlehub/1 UniversalRP Support [Your version].unitypackage. Click Tools->Runtime Editor->Use built-in RenderPipelineAsset. Switch Color Space from Gamma to Linear. Create Runtime Editor using Tools->Runtime Editor->Create RTEditor (Optionally Tools->Runtime Editor->Create RTExtensions) Add Universal RP support using Tools->Runtime Editor->Add URP support for RTEditor (Optionally Tools->Runtime Editor->Add URP support for RTExtensions) Hit Play Note Complete demo scene can be found in Assets/Battlehub/RTEditorURP/Demo Be sure to unpack Assets/Battlehub/2 RTEditor Demo Note For Transform Handles use Tools->Runtime Handles submenu" - }, - "manual/vtv.html": { - "href": "manual/vtv.html", - "title": "| Example Unity documentation", - "keywords": "#Virtualizing TreeView Docs ##Overview The Virtualizing Tree View is a control that displays a hierarchical data. Virtualzing Tree View implements drag & drop, data binding and selection functions. It is highly customizable and can be used to display large collections of data (1000+ items). ##Getting Started Create Canvas. Add VirtualizingTreeView.prefab from /Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs to hierarchy. Create GettingStarted.cs script and add it to VirtualizingTreeView Game Object. Hit Play. //GetStarted.cs using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Battlehub.UIControls; //Example of hierarchical data item public class ExampleDataItem { public string Name; //... additional fields here ...// public ExampleDataItem Parent; public List Children; public ExampleDataItem(string name) { Name = name; Children = new List(); } public override string ToString() { return Name; } } public class GetStarted : MonoBehaviour { private VirtualizingTreeView m_treeView; //root level data items private List m_items; void Start() { m_treeView = GetComponent(); //This event fired for each item that becomes visible m_treeView.ItemDataBinding += OnItemDataBinding; //This event is fired for each expanded item m_treeView.ItemExpanding += OnItemExpanding; //This event is triggered for each item after drag & drop m_treeView.ItemDrop += OnItemDrop; //Create data items m_items = new List(); for(int i = 0; i < 1000; ++i) { m_items.Add(new ExampleDataItem(\"Data Item \" + i)); } //Populate tree view with data items m_treeView.Items = m_items; } void OnDestroy() { if(m_treeView != null) { m_treeView.ItemDataBinding -= OnItemDataBinding; m_treeView.ItemExpanding -= OnItemExpanding; m_treeView.ItemDrop -= OnItemDrop; } } void OnItemDataBinding(object sender, VirtualizingTreeViewItemDataBindingArgs e) { ExampleDataItem item = (ExampleDataItem)e.Item; //Get the controls from ItemsPresenter and copy the data into them. Text text = e.ItemPresenter.GetComponentInChildren(true); text.text = item.Name; Image icon = e.ItemPresenter.GetComponentsInChildren()[4]; icon.sprite = Resources.Load(\"IconNew\"); //Notify the tree of the presence of child data items. e.HasChildren = item.Children.Count > 0; } void OnItemExpanding(object sender, VirtualizingItemExpandingArgs e) { ExampleDataItem item = (ExampleDataItem)e.Item; //Return children to the tree view e.Children = item.Children; } void OnItemDrop(object sender, ItemDropArgs args) { if (args.DropTarget == null) { return; } //Handle ItemDrop event using standard handler. m_treeView.ItemDropStdHandler(args, (item) => item.Parent, (item, parent) => item.Parent = parent, (item, parent) => ChildrenOf(parent).IndexOf(item), (item, parent) => ChildrenOf(parent).Remove(item), (item, parent, i) => ChildrenOf(parent).Insert(i, item)); } List ChildrenOf(ExampleDataItem parent) { if (parent == null) { return m_items; } return parent.Children; } } You should see scrollable tree view with data items and drag & drop support: Note Full demo can be found in Assets/Battlehub/RTEditorDemo/Content/Runtime/UIControls/VirtualizingTreeView folder ##Virtualizing Scroll Rect This class reuse \"ui containers\" to efficiently represent large data collections. UI containers are created only for a small visible part of data. VirtualizingScrollRect.cs can be found in Assets/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView folder. Events: event DataBindAction ItemDataBinding - raised when new portion of data become visible . Fields: Container Prefab - prefab, which is used to create instances of ui containers for data items. Virtual Content - parent of ui containers. Properties: IList Items { get; set; } - gets or sets list of data items. int ItemsCount{ get; } - gets the number of data items. int Index { get; set; } - gets or sets index of first visible data item. int VisibleItemsCount { get; } - gets the number of currently visible data items. Methods: bool IsParentOf(Transform child) - returns true if the Scroll Rect is the parent of the Transform. void InsertItem(int index, object item, bool raiseDataBindingEvent = true) - insert data item. void RemoveItems(int[] indices, bool raiseItemDataBindingEvent = true) - remove data items. RectTransform GetContainer(object obj) - returns the ui container for data item. RectTransform FirstContainer() - returns the first visible ui container. RectTransform LastContainer() - returns the last visible ui container. void ForEachContainer(System.Action action) - run action for each ui container. void SetNextSibling(object sibling, object nextSibling) - reorder data items and ui containers. void SetPrevSibling(object sibling, object prevSibling) - reorder data items and ui containers. ##Virtualizing Items Control This class implements drag and drop, insert, delete, reorder functions and triggers many useful events. It also serves as the base class for controls, such as listbox and treeview. Implementation can be found in Assets/Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView folder. Events: event EventHandler ItemBeginDrag - raised on begin drag. event EventHandler ItemBeginDrop - raised on item drop. event EventHandler ItemDragEnter - occurs when the pointer enters a new drop target. event EventHandler ItemDragExit - raised when pointer leaves drop area. event EventHandler ItemDrag - fired while dragging an item. event EventHandler ItemDrop - fired after item dropped. event EventHandler ItemEndDrag - raised when drag & drop operation completed. event EventHandler SelectionChanged - occurs when the selection is changed. event EventHandler ItemDoubleClick - triggered after double clicking on an item. event EventHandler ItemClick - triggered after clicking on an item. event EventHandler ItemsRemoving - triggered before removing items. event EventHandler ItemsRemoved - triggered after removing items. event EventHandler IsFocusedChanged - raised when IsFocused value changed. event EventHandler Submit - on submit. event EventHandler Cancel - on cancel. event EventHandler Click - triggered after clicking on the tree view. event EventHandler PointerEnter - occurs when the pointer enters the tree view. event EventHandler PointerExit - occurs when the pointer leaves the tree view. event EventHandler ItemDataBinding - occurs when a new ui container is created or an update is required. event EventHandler ItemBeginEdit - occurs when the ui container enters edit mode, and the EditorPresenter becomes visible. event EventHandler ItemEndEdit- occurs when the ui container exit edit mode, and the ItemsPresenter becomes visible. Fields: bool SelectOnPointerUp - select item on pointer up (default: false). bool CanUnselectAll - can the user unselect all items? If set to false then at least one item has to be selected (default: true). bool CanSelectAll - can the user select all items? (default:true). bool CanEdit - can the user edit items? (default: true). bool CanRemove - can the user remove items? (default: true). bool CanDrag - is drag & drop allowed? (default:true). bool CanReorder - Is the reordering of items allowed? (default: true). float ScrollSpeed - scrolling sensitivity. Properties: object DropTarget { get; } - get currently active drop target. object[] DragItems { get; } - get items that are currently dragging. ItemDropAction DropAction { get; } - get current drop action: None, SetLastChild, SetPrevSilbing, SetNextSibling. int SelectedItemsCount { get; } - get selected data items count. IEnumerable SelectedItems { get; set; } - get or set selected data items. object SelectedItem { get; set; } - get or set selected data item. int SelectedIndex { get; set; } - get or set index of selected data item. IEnumerable Items { get; set; } - data source. Methods: int IndexOf(object obj) - get the index of the data item. void SetIndex(object obj, int newIndex) - set index of data item. VirtualizingItemContainer GetItemContainer(object item) - get the visible ui container. ItemContainerData GetItemContainerData(object item) - get the state of the ui container. ItemContainerData Add(object item) - add data item. ItemContainerData Insert(int index, object item) - insert data item. void Remove(object item) - remove data item. void SetNextSibling(object sibling, object nextSibling) - reorder data items and ui containers. void SetPrevSibling(object sibling, object prevSibling) - reorder data items and ui containers. ##Virtualizing Drop Marker The Virtualizing Drop Marker is used to highlight the drop location of the item. Virtualizing Drop Marker can be in one of the states defined in the ItemDropAction enum. public enum ItemDropAction { None, SetLastChild, SetPrevSibling, SetNextSibling } ##Virtualizing Tree View Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs/VirtualizingTreeView. Script: /Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView/VirtualizingTreeView.cs. Base Class: Virtualizing Items Control Events: event EventHandler ItemExpanding - triggered before the parent item expands. event EventHandler ItemCollapsed - triggered after folding the parent item. Fields: bool SelectOnPointerUp - select item on pointer up (default: false). bool CanUnselectAll - If set to false then at least one item has to be selected (default: true). bool CanSelectAll - can the user select all items? (default:true). bool CanEdit - can the user edit items? (default: true). bool CanRemove - can the user remove items? (default: true). bool CanDrag - is drag & drop allowed? (default:true). bool CanReorder - Is the reordering of items allowed? (default: true). bool CanReparent - Is parent change allowed? (default: true). float ScrollSpeed - scrolling sensitivity. Methods: void AddChild(object parent, object item) - add child item. void RemoveChild(object parent, object item) - remove child item. bool Expand(object item) - expand item fails and returns false if the element is not visible and is a descendant of the collapsed parent). void ExpandTo(T item, Func getParent) - expand all ancestors. void ExpandChildren(T item, Func getChildren) - expand all descendants. void ExpandAll(T item, Func getParent, Func getChildren) - calls ExpandTo, then ExpandChildren. void Collapse(object item) - collapse item. Examples: //Select all root items private VirtualizingTreeView m_treeView; void Start() { m_treeView = GetComponent(); //..Initialization and data binding... m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.SelectedItems = m_treeView.Items; } void OnDestroy() { if(m_treeView != null) { m_treeView.SelectionChanged -= OnSelectionChanged; } } private void OnSelectionChanged(object sender, SelectionChangedArgs e) { if(e.NewItems != null) { foreach(object item in e.NewItems) { Debug.Log(item); } } } //Add children and expand selected items public void Add() { foreach (ExampleDataItem parent in m_treeView.SelectedItems) { ExampleDataItem item = new ExampleDataItem(\"New Item\"); parent.Children.Add(item); item.Parent = parent; m_treeView.AddChild(parent, item); m_treeView.Expand(parent); } } //Collapse selected items public void Collapse() { foreach (DataItem selectedItem in TreeView.SelectedItems) { TreeView.Collapse(selectedItem); } } //Expand selected items and their children public void Expand() { foreach(ExampleDataItem selectedItem in m_treeView.SelectedItems) { m_treeView.ExpandAll(selectedItem, item => item.Parent, item => item.Children); } } //Remove selected items public void Remove() { foreach (ExampleDataItem selectedItem in m_treeView.SelectedItems.OfType().ToArray()) { m_treeView.RemoveChild(selectedItem.Parent, selectedItem); } } Note ExampleDataItem defined in Getting Started section. ##Virtualizing Tree View Item Structure: Prefab: /Battlehub/RTEditor/Content/Runtime/UIControls/VirtualizingTreeView/Prefabs/VirtualizingTreeViewItem. Script: /Battlehub/RTEditor/Runtime/UIControls/VirtualizingTreeView/VirtualizingTreeViewItem.cs. Fields: ItemPresenter - normal mode ui. EditorPresenter - edit mode ui. ItemLayout - reference to LayoutElement." - } -} \ No newline at end of file diff --git a/_site/logo.svg b/_site/logo.svg deleted file mode 100644 index 30433d1..0000000 --- a/_site/logo.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - diff --git a/_site/manifest.json b/_site/manifest.json deleted file mode 100644 index 99d3a7e..0000000 --- a/_site/manifest.json +++ /dev/null @@ -1,1661 +0,0 @@ -{ - "sitemap": { - "fileOptions": { - "api/*": { - "baseUrl": "https://normanderwan.github.io/DocFxForUnity/", - "changefreq": "daily" - } - }, - "baseUrl": "https://normanderwan.github.io/DocFxForUnity/", - "changefreq": "weekly" - }, - "homepages": [], - "source_base_path": "C:/Development/Github/RTE_Docs/docs", - "xrefmap": "xrefmap.yml", - "files": [ - { - "type": "Resource", - "output": { - "resource": { - "relative_path": "index.json" - } - } - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Battlehub.RTCommon.IOC.yml", - "output": { - ".html": { - "relative_path": "api/Battlehub.RTCommon.IOC.html" - } - }, - "version": "" - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Battlehub.RTCommon.yml", - "output": { - ".html": { - "relative_path": "api/Battlehub.RTCommon.html" - } - }, - "version": "" - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Battlehub.RTEditor.IWindowManager.yml", - "output": { - ".html": { - "relative_path": "api/Battlehub.RTEditor.IWindowManager.html" - } - }, - "version": "" - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Battlehub.RTEditor.yml", - "output": { - ".html": { - "relative_path": "api/Battlehub.RTEditor.html" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "api/toc.yml", - "output": { - ".html": { - "relative_path": "api/toc.html" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "favicon.ico", - "output": { - "resource": { - "relative_path": "favicon.ico" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "index.md", - "output": { - ".html": { - "relative_path": "index.html" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "logo.svg", - "output": { - "resource": { - "relative_path": "logo.svg" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/animation-editor.md", - "output": { - ".html": { - "relative_path": "manual/animation-editor.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/dock-panels.md", - "output": { - ".html": { - "relative_path": "manual/dock-panels.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/editor-extensions.md", - "output": { - ".html": { - "relative_path": "manual/editor-extensions.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/general.md", - "output": { - ".html": { - "relative_path": "manual/general.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/gizmos.md", - "output": { - ".html": { - "relative_path": "manual/gizmos.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/hdrp-support.md", - "output": { - ".html": { - "relative_path": "manual/hdrp-support.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/infrastructure.md", - "output": { - ".html": { - "relative_path": "manual/infrastructure.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/menu-control.md", - "output": { - ".html": { - "relative_path": "manual/menu-control.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/rendering.md", - "output": { - ".html": { - "relative_path": "manual/rendering.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/runtime-editor.md", - "output": { - ".html": { - "relative_path": "manual/runtime-editor.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/save-load.md", - "output": { - ".html": { - "relative_path": "manual/save-load.html" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "manual/toc.yml", - "output": { - ".html": { - "relative_path": "manual/toc.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/transform-handles.md", - "output": { - ".html": { - "relative_path": "manual/transform-handles.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/urp-support.md", - "output": { - ".html": { - "relative_path": "manual/urp-support.html" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "manual/vtv.md", - "output": { - ".html": { - "relative_path": "manual/vtv.html" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/ExampleManual.png", - "output": { - "resource": { - "relative_path": "resources/ExampleManual.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/ExampleScriptingApi.png", - "output": { - "resource": { - "relative_path": "resources/ExampleScriptingApi.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/css/extra.css", - "output": { - "resource": { - "relative_path": "resources/css/extra.css" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/animation-editor/animation-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/animation-editor/animation-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/dialog-manager/dialog-manager.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/dialog-manager/dialog-manager.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/dialog-manager/usage.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/dialog-manager/usage.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/dock-panel/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/dock-panel/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/get-started/create-dock-panel.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/get-started/create-dock-panel.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/get-started/get-started-result.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/get-started/get-started-result.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/overview/dock-panels.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/overview/dock-panels.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/region/floating-region.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/region/floating-region.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/region/region.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/region/region.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/region/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/region/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/tab-preview/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/tab-preview/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/tab-preview/tab-preview.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/tab-preview/tab-preview.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/tab/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/tab/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/dock-panels/tab/tab.png", - "output": { - "resource": { - "relative_path": "resources/img/dock-panels/tab/tab.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/editor-extensions.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/editor-extensions.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/getting-started1.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/getting-started1.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/getting-started2.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/getting-started2.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/overview.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/overview.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtbuilder/standalone-demo.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtbuilder/standalone-demo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtscripting/create-script.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtscripting/create-script.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtscripting/edit-script.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtscripting/edit-script.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtscripting/unpack-rtscripting.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtscripting/unpack-rtscripting.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtterrain/terrain-editor-inspector.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtterrain/terrain-editor-inspector.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/extensions/rtterrain/terrain-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/extensions/rtterrain/terrain-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/favicon.ico", - "output": { - "resource": { - "relative_path": "resources/img/favicon.ico" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/audio-source-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/audio-source-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/box-collider-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/box-collider-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/capsule-collider-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/capsule-collider-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/directional-light-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/directional-light-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/getting-started/getting-started.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/getting-started/getting-started.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/point-light-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/point-light-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/skinned-mesh-renderer-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/skinned-mesh-renderer-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/sphere-collider-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/sphere-collider-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/gizmos/spot-light-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/gizmos/spot-light-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/hdrp-support/getting-started-1.png", - "output": { - "resource": { - "relative_path": "resources/img/hdrp-support/getting-started-1.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/hdrp-support/getting-started-2.png", - "output": { - "resource": { - "relative_path": "resources/img/hdrp-support/getting-started-2.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/hdrp-support/getting-started-4.png", - "output": { - "resource": { - "relative_path": "resources/img/hdrp-support/getting-started-4.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/hdrp-support/getting-started-5.png", - "output": { - "resource": { - "relative_path": "resources/img/hdrp-support/getting-started-5.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/hdrp-support/rthandles-hdrp-support.png", - "output": { - "resource": { - "relative_path": "resources/img/hdrp-support/rthandles-hdrp-support.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/infrastructure/expose-to-editor/expose-to-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/infrastructure/expose-to-editor/expose-to-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/context-menu-trigger/context-menu-trigger.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/context-menu-trigger/context-menu-trigger.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/context-menu-trigger/context-menu.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/context-menu-trigger/context-menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/get-started/results.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/get-started/results.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/get-started/set-event-handlers.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/get-started/set-event-handlers.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/get-started/set-menu-field.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/get-started/set-menu-field.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/menu-item/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/menu-item/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/menu/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/menu/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/menu/overview/menu.png", - "output": { - "resource": { - "relative_path": "resources/img/menu/overview/menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rendering/layers-used-by-runtime-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/rendering/layers-used-by-runtime-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rendering/runtime-graphics-layer.png", - "output": { - "resource": { - "relative_path": "resources/img/rendering/runtime-graphics-layer.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/change-colors/rte-appearance.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/change-colors/rte-appearance.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/change-colors/rte-resources.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/change-colors/rte-resources.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/editors-config/config-window.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/editors-config/config-window.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/editors-config/open-config-window.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/editors-config/open-config-window.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/file-importers/menu-item.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/file-importers/menu-item.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/file-importers/rtimporter-package.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/file-importers/rtimporter-package.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/after-import.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/after-import.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/build-all.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/build-all.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/create-runtime-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/create-runtime-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/delete-rtsl-data.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/delete-rtsl-data.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/expose-to-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/expose-to-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/file-import-assets.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/file-import-assets.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/game-view-camera.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/game-view-camera.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/import-assets.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/import-assets.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/rteditor-demo-scene.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/rteditor-demo-scene.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/runtime-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/runtime-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/select-asset-library.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/select-asset-library.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/show-me-examples.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/show-me-examples.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/get-started/use-buitin-rp-asset.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/get-started/use-buitin-rp-asset.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/inspector-view/property-editors.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/inspector-view/property-editors.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/inspector-view/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/inspector-view/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/menu/context-menu.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/menu/context-menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/menu/main-menu.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/menu/main-menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/menu/my-context-menu.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/menu/my-context-menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/overview/overview.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/overview/overview.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/overview/use-legacy-builtin-windows.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/overview/use-legacy-builtin-windows.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/custom-window-created.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/custom-window-created.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/custom-window-menu.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/custom-window-menu.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/custom-window.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/custom-window.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/layout-override-result.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/layout-override-result.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/layout-override.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/layout-override.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/tools-override-result.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/tools-override-result.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/tools-override.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/tools-override.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/ui-scale-after-override.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/ui-scale-after-override.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/rteditor/window-manager/ui-scale-before-override.png", - "output": { - "resource": { - "relative_path": "resources/img/rteditor/window-manager/ui-scale-before-override.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/asset-libraries/create-asset-library.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/asset-libraries/create-asset-library.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/asset-libraries/populate-asset-library.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/asset-libraries/populate-asset-library.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/asset-libraries/special-asset-libraries.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/asset-libraries/special-asset-libraries.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/asset-libraries/synchronize-asset-library.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/asset-libraries/synchronize-asset-library.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/collect-scene-dependencies.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/collect-scene-dependencies.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/config-window.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/config-window.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/demo.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/demo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/demo2.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/demo2.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/folders.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/folders.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/game-prefab.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/game-prefab.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/project.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/project.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/get-started/savedscene.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/get-started/savedscene.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/create-custom-implementation.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/create-custom-implementation.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/custom-implementation-folder.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/custom-implementation-folder.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/edit-custom-implementation.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/edit-custom-implementation.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/editor.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/mappings-folder.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/mappings-folder.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/open-persistent-classes-editor.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/open-persistent-classes-editor.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/save-load/persistent-classes/persistent-classes-folder.png", - "output": { - "resource": { - "relative_path": "resources/img/save-load/persistent-classes/persistent-classes-folder.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/box-selection/create-box-selection.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/box-selection/create-box-selection.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/getting-started/step1-create-transform-handles.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/getting-started/step1-create-transform-handles.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/getting-started/step2-create-object.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/getting-started/step2-create-object.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/getting-started/step3-enable-editing.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/getting-started/step3-enable-editing.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/getting-started/step4-hit-play.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/getting-started/step4-hit-play.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/grid/scene-grid.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/grid/scene-grid.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/overview/all-in-one.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/overview/all-in-one.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/overview/overview.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/overview/overview.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/position-handle/create-position-handle.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/position-handle/create-position-handle.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/position-handle/position-handle-model-adjustment.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/position-handle/position-handle-model-adjustment.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/position-handle/set-model-field.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/position-handle/set-model-field.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/rotation-handle/create-rotation-handle.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/rotation-handle/create-rotation-handle.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/rotation-handle/set-model-field.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/rotation-handle/set-model-field.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/scale-handle/create-scale-handle.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/scale-handle/create-scale-handle.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/scale-handle/set-model-field.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/scale-handle/set-model-field.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png", - "output": { - "resource": { - "relative_path": "resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/urp-support/getting-started-1.png", - "output": { - "resource": { - "relative_path": "resources/img/urp-support/getting-started-1.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/urp-support/getting-started-2.png", - "output": { - "resource": { - "relative_path": "resources/img/urp-support/getting-started-2.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/urp-support/getting-started-4.png", - "output": { - "resource": { - "relative_path": "resources/img/urp-support/getting-started-4.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/urp-support/getting-started-5.png", - "output": { - "resource": { - "relative_path": "resources/img/urp-support/getting-started-5.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/urp-support/rthandles-urp-support.png", - "output": { - "resource": { - "relative_path": "resources/img/urp-support/rthandles-urp-support.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/vtv/get-started/get-started.png", - "output": { - "resource": { - "relative_path": "resources/img/vtv/get-started/get-started.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/vtv/item-drop-marker/item-drop-marker.png", - "output": { - "resource": { - "relative_path": "resources/img/vtv/item-drop-marker/item-drop-marker.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/vtv/overview/vtv.png", - "output": { - "resource": { - "relative_path": "resources/img/vtv/overview/vtv.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/vtv/vtv-item/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/vtv/vtv-item/structure.png" - } - }, - "version": "" - }, - { - "type": "Resource", - "source_relative_path": "resources/img/vtv/vtv/structure.png", - "output": { - "resource": { - "relative_path": "resources/img/vtv/vtv/structure.png" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "toc.yml", - "output": { - ".html": { - "relative_path": "toc.html" - } - }, - "version": "" - } - ], - "version_info": {}, - "groups": [ - { - "xrefmap": "xrefmap.yml" - } - ] -} \ No newline at end of file diff --git a/_site/manual/animation-editor.html b/_site/manual/animation-editor.html deleted file mode 100644 index 5276ea4..0000000 --- a/_site/manual/animation-editor.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
            -
            - - - - -
            -
            - -
            -
            Search Results for
            -
            -

            -
            -
              -
              -
              - - -
              -
              - -
              -
              - - - - - - diff --git a/_site/manual/dock-panels.html b/_site/manual/dock-panels.html deleted file mode 100644 index 1aa0b53..0000000 --- a/_site/manual/dock-panels.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - Dock Panel Docs | Example Unity documentation - - - - - - - - - - - - - - -
              -
              - - - - -
              -
              - -
              -
              Search Results for
              -
              -

              -
              -
                -
                -
                - - -
                -
                - -
                -
                - - - - - - diff --git a/_site/manual/editor-extensions.html b/_site/manual/editor-extensions.html deleted file mode 100644 index fabeda0..0000000 --- a/_site/manual/editor-extensions.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                -
                - - - - -
                -
                - -
                -
                Search Results for
                -
                -

                -
                -
                  -
                  -
                  - - -
                  -
                  - -
                  -
                  - - - - - - diff --git a/_site/manual/general.html b/_site/manual/general.html deleted file mode 100644 index f8695eb..0000000 --- a/_site/manual/general.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                  -
                  - - - - -
                  -
                  - -
                  -
                  Search Results for
                  -
                  -

                  -
                  -
                    -
                    -
                    - - -
                    -
                    - -
                    -
                    - - - - - - diff --git a/_site/manual/gizmos.html b/_site/manual/gizmos.html deleted file mode 100644 index a8f8b32..0000000 --- a/_site/manual/gizmos.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                    -
                    - - - - -
                    -
                    - -
                    -
                    Search Results for
                    -
                    -

                    -
                    -
                      -
                      -
                      - - -
                      -
                      - -
                      -
                      - - - - - - diff --git a/_site/manual/hdrp-support.html b/_site/manual/hdrp-support.html deleted file mode 100644 index abcefee..0000000 --- a/_site/manual/hdrp-support.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                      -
                      - - - - -
                      -
                      - -
                      -
                      Search Results for
                      -
                      -

                      -
                      -
                        -
                        -
                        - - -
                        -
                        - -
                        -
                        - - - - - - diff --git a/_site/manual/infrastructure.html b/_site/manual/infrastructure.html deleted file mode 100644 index 3ae2c2b..0000000 --- a/_site/manual/infrastructure.html +++ /dev/null @@ -1,840 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                        -
                        - - - - -
                        -
                        - -
                        -
                        Search Results for
                        -
                        -

                        -
                        -
                          -
                          -
                          - - -
                          -
                          - -
                          -
                          - - - - - - diff --git a/_site/manual/menu-control.html b/_site/manual/menu-control.html deleted file mode 100644 index c273a03..0000000 --- a/_site/manual/menu-control.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                          -
                          - - - - -
                          -
                          - -
                          -
                          Search Results for
                          -
                          -

                          -
                          -
                            -
                            -
                            - - -
                            -
                            - -
                            -
                            - - - - - - diff --git a/_site/manual/rendering.html b/_site/manual/rendering.html deleted file mode 100644 index d9e3288..0000000 --- a/_site/manual/rendering.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                            -
                            - - - - -
                            -
                            - -
                            -
                            Search Results for
                            -
                            -

                            -
                            -
                              -
                              -
                              - - -
                              -
                              - -
                              -
                              - - - - - - diff --git a/_site/manual/runtime-editor.html b/_site/manual/runtime-editor.html deleted file mode 100644 index bcc6356..0000000 --- a/_site/manual/runtime-editor.html +++ /dev/null @@ -1,975 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                              -
                              - - - - -
                              -
                              - -
                              -
                              Search Results for
                              -
                              -

                              -
                              -
                                -
                                -
                                - - -
                                -
                                - -
                                -
                                - - - - - - diff --git a/_site/manual/save-load.html b/_site/manual/save-load.html deleted file mode 100644 index 16918ea..0000000 --- a/_site/manual/save-load.html +++ /dev/null @@ -1,678 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                                -
                                - - - - -
                                -
                                - -
                                -
                                Search Results for
                                -
                                -

                                -
                                -
                                  -
                                  -
                                  - - -
                                  -
                                  - -
                                  -
                                  - - - - - - diff --git a/_site/manual/toc.html b/_site/manual/toc.html deleted file mode 100644 index b02e599..0000000 --- a/_site/manual/toc.html +++ /dev/null @@ -1,61 +0,0 @@ - -
                                  -
                                  -
                                  -
                                  - - - -
                                  -
                                  - -
                                  -
                                  \ No newline at end of file diff --git a/_site/manual/transform-handles.html b/_site/manual/transform-handles.html deleted file mode 100644 index 691e933..0000000 --- a/_site/manual/transform-handles.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                                  -
                                  - - - - -
                                  -
                                  - -
                                  -
                                  Search Results for
                                  -
                                  -

                                  -
                                  -
                                    -
                                    -
                                    - - -
                                    -
                                    - -
                                    -
                                    - - - - - - diff --git a/_site/manual/urp-support.html b/_site/manual/urp-support.html deleted file mode 100644 index a359e8e..0000000 --- a/_site/manual/urp-support.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                                    -
                                    - - - - -
                                    -
                                    - -
                                    -
                                    Search Results for
                                    -
                                    -

                                    -
                                    -
                                      -
                                      -
                                      - - -
                                      -
                                      - -
                                      -
                                      - - - - - - diff --git a/_site/manual/vtv.html b/_site/manual/vtv.html deleted file mode 100644 index 5cba661..0000000 --- a/_site/manual/vtv.html +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - | Example Unity documentation - - - - - - - - - - - - - - -
                                      -
                                      - - - - -
                                      -
                                      - -
                                      -
                                      Search Results for
                                      -
                                      -

                                      -
                                      -
                                        -
                                        -
                                        - - -
                                        -
                                        - -
                                        -
                                        - - - - - - diff --git a/_site/resources/ExampleManual.png b/_site/resources/ExampleManual.png deleted file mode 100644 index 5cfff60..0000000 Binary files a/_site/resources/ExampleManual.png and /dev/null differ diff --git a/_site/resources/ExampleScriptingApi.png b/_site/resources/ExampleScriptingApi.png deleted file mode 100644 index ce84165..0000000 Binary files a/_site/resources/ExampleScriptingApi.png and /dev/null differ diff --git a/_site/resources/css/extra.css b/_site/resources/css/extra.css deleted file mode 100644 index c35d2ca..0000000 --- a/_site/resources/css/extra.css +++ /dev/null @@ -1,11 +0,0 @@ -.linenos pre -{ - border:0px !important; - padding:0px !important; -} - -.code -{ - padding-left:0px !important; -} - diff --git a/_site/resources/img/animation-editor/animation-editor.png b/_site/resources/img/animation-editor/animation-editor.png deleted file mode 100644 index 4d67005..0000000 Binary files a/_site/resources/img/animation-editor/animation-editor.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/dialog-manager/dialog-manager.png b/_site/resources/img/dock-panels/dialog-manager/dialog-manager.png deleted file mode 100644 index 8463968..0000000 Binary files a/_site/resources/img/dock-panels/dialog-manager/dialog-manager.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/dialog-manager/usage.png b/_site/resources/img/dock-panels/dialog-manager/usage.png deleted file mode 100644 index d98505f..0000000 Binary files a/_site/resources/img/dock-panels/dialog-manager/usage.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/dock-panel/structure.png b/_site/resources/img/dock-panels/dock-panel/structure.png deleted file mode 100644 index 2ead5c9..0000000 Binary files a/_site/resources/img/dock-panels/dock-panel/structure.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/get-started/create-dock-panel.png b/_site/resources/img/dock-panels/get-started/create-dock-panel.png deleted file mode 100644 index 50f9fef..0000000 Binary files a/_site/resources/img/dock-panels/get-started/create-dock-panel.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/get-started/get-started-result.png b/_site/resources/img/dock-panels/get-started/get-started-result.png deleted file mode 100644 index a27eed0..0000000 Binary files a/_site/resources/img/dock-panels/get-started/get-started-result.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/overview/dock-panels.png b/_site/resources/img/dock-panels/overview/dock-panels.png deleted file mode 100644 index 12395ce..0000000 Binary files a/_site/resources/img/dock-panels/overview/dock-panels.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/region/floating-region.png b/_site/resources/img/dock-panels/region/floating-region.png deleted file mode 100644 index 029097b..0000000 Binary files a/_site/resources/img/dock-panels/region/floating-region.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/region/region.png b/_site/resources/img/dock-panels/region/region.png deleted file mode 100644 index 7771ada..0000000 Binary files a/_site/resources/img/dock-panels/region/region.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/region/structure.png b/_site/resources/img/dock-panels/region/structure.png deleted file mode 100644 index 0bebc2b..0000000 Binary files a/_site/resources/img/dock-panels/region/structure.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/tab-preview/structure.png b/_site/resources/img/dock-panels/tab-preview/structure.png deleted file mode 100644 index 77d306a..0000000 Binary files a/_site/resources/img/dock-panels/tab-preview/structure.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/tab-preview/tab-preview.png b/_site/resources/img/dock-panels/tab-preview/tab-preview.png deleted file mode 100644 index 438366b..0000000 Binary files a/_site/resources/img/dock-panels/tab-preview/tab-preview.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/tab/structure.png b/_site/resources/img/dock-panels/tab/structure.png deleted file mode 100644 index 648f46b..0000000 Binary files a/_site/resources/img/dock-panels/tab/structure.png and /dev/null differ diff --git a/_site/resources/img/dock-panels/tab/tab.png b/_site/resources/img/dock-panels/tab/tab.png deleted file mode 100644 index 6b55140..0000000 Binary files a/_site/resources/img/dock-panels/tab/tab.png and /dev/null differ diff --git a/_site/resources/img/extensions/editor-extensions.png b/_site/resources/img/extensions/editor-extensions.png deleted file mode 100644 index 698f5cd..0000000 Binary files a/_site/resources/img/extensions/editor-extensions.png and /dev/null differ diff --git a/_site/resources/img/extensions/getting-started1.png b/_site/resources/img/extensions/getting-started1.png deleted file mode 100644 index a3d1a5f..0000000 Binary files a/_site/resources/img/extensions/getting-started1.png and /dev/null differ diff --git a/_site/resources/img/extensions/getting-started2.png b/_site/resources/img/extensions/getting-started2.png deleted file mode 100644 index 3e87035..0000000 Binary files a/_site/resources/img/extensions/getting-started2.png and /dev/null differ diff --git a/_site/resources/img/extensions/overview.png b/_site/resources/img/extensions/overview.png deleted file mode 100644 index 881210c..0000000 Binary files a/_site/resources/img/extensions/overview.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtbuilder/standalone-demo.png b/_site/resources/img/extensions/rtbuilder/standalone-demo.png deleted file mode 100644 index 729dbf5..0000000 Binary files a/_site/resources/img/extensions/rtbuilder/standalone-demo.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtscripting/create-script.png b/_site/resources/img/extensions/rtscripting/create-script.png deleted file mode 100644 index 014bd4b..0000000 Binary files a/_site/resources/img/extensions/rtscripting/create-script.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtscripting/edit-script.png b/_site/resources/img/extensions/rtscripting/edit-script.png deleted file mode 100644 index c34c6ce..0000000 Binary files a/_site/resources/img/extensions/rtscripting/edit-script.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtscripting/unpack-rtscripting.png b/_site/resources/img/extensions/rtscripting/unpack-rtscripting.png deleted file mode 100644 index 0160603..0000000 Binary files a/_site/resources/img/extensions/rtscripting/unpack-rtscripting.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtterrain/terrain-editor-inspector.png b/_site/resources/img/extensions/rtterrain/terrain-editor-inspector.png deleted file mode 100644 index 8464e01..0000000 Binary files a/_site/resources/img/extensions/rtterrain/terrain-editor-inspector.png and /dev/null differ diff --git a/_site/resources/img/extensions/rtterrain/terrain-editor.png b/_site/resources/img/extensions/rtterrain/terrain-editor.png deleted file mode 100644 index 5270d70..0000000 Binary files a/_site/resources/img/extensions/rtterrain/terrain-editor.png and /dev/null differ diff --git a/_site/resources/img/favicon.ico b/_site/resources/img/favicon.ico deleted file mode 100644 index 81d56e3..0000000 Binary files a/_site/resources/img/favicon.ico and /dev/null differ diff --git a/_site/resources/img/gizmos/audio-source-gizmo.png b/_site/resources/img/gizmos/audio-source-gizmo.png deleted file mode 100644 index 78df086..0000000 Binary files a/_site/resources/img/gizmos/audio-source-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/box-collider-gizmo.png b/_site/resources/img/gizmos/box-collider-gizmo.png deleted file mode 100644 index c671e7e..0000000 Binary files a/_site/resources/img/gizmos/box-collider-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/capsule-collider-gizmo.png b/_site/resources/img/gizmos/capsule-collider-gizmo.png deleted file mode 100644 index 4ce41ab..0000000 Binary files a/_site/resources/img/gizmos/capsule-collider-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/directional-light-gizmo.png b/_site/resources/img/gizmos/directional-light-gizmo.png deleted file mode 100644 index 13856f3..0000000 Binary files a/_site/resources/img/gizmos/directional-light-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/getting-started/getting-started.png b/_site/resources/img/gizmos/getting-started/getting-started.png deleted file mode 100644 index b4f0d68..0000000 Binary files a/_site/resources/img/gizmos/getting-started/getting-started.png and /dev/null differ diff --git a/_site/resources/img/gizmos/point-light-gizmo.png b/_site/resources/img/gizmos/point-light-gizmo.png deleted file mode 100644 index 0477f1f..0000000 Binary files a/_site/resources/img/gizmos/point-light-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/skinned-mesh-renderer-gizmo.png b/_site/resources/img/gizmos/skinned-mesh-renderer-gizmo.png deleted file mode 100644 index be10f90..0000000 Binary files a/_site/resources/img/gizmos/skinned-mesh-renderer-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/sphere-collider-gizmo.png b/_site/resources/img/gizmos/sphere-collider-gizmo.png deleted file mode 100644 index 7613dc6..0000000 Binary files a/_site/resources/img/gizmos/sphere-collider-gizmo.png and /dev/null differ diff --git a/_site/resources/img/gizmos/spot-light-gizmo.png b/_site/resources/img/gizmos/spot-light-gizmo.png deleted file mode 100644 index f5a7f51..0000000 Binary files a/_site/resources/img/gizmos/spot-light-gizmo.png and /dev/null differ diff --git a/_site/resources/img/hdrp-support/getting-started-1.png b/_site/resources/img/hdrp-support/getting-started-1.png deleted file mode 100644 index aa0330f..0000000 Binary files a/_site/resources/img/hdrp-support/getting-started-1.png and /dev/null differ diff --git a/_site/resources/img/hdrp-support/getting-started-2.png b/_site/resources/img/hdrp-support/getting-started-2.png deleted file mode 100644 index dd8cba9..0000000 Binary files a/_site/resources/img/hdrp-support/getting-started-2.png and /dev/null differ diff --git a/_site/resources/img/hdrp-support/getting-started-4.png b/_site/resources/img/hdrp-support/getting-started-4.png deleted file mode 100644 index 03ea206..0000000 Binary files a/_site/resources/img/hdrp-support/getting-started-4.png and /dev/null differ diff --git a/_site/resources/img/hdrp-support/getting-started-5.png b/_site/resources/img/hdrp-support/getting-started-5.png deleted file mode 100644 index 333ffa8..0000000 Binary files a/_site/resources/img/hdrp-support/getting-started-5.png and /dev/null differ diff --git a/_site/resources/img/hdrp-support/rthandles-hdrp-support.png b/_site/resources/img/hdrp-support/rthandles-hdrp-support.png deleted file mode 100644 index 39eba6e..0000000 Binary files a/_site/resources/img/hdrp-support/rthandles-hdrp-support.png and /dev/null differ diff --git a/_site/resources/img/infrastructure/expose-to-editor/expose-to-editor.png b/_site/resources/img/infrastructure/expose-to-editor/expose-to-editor.png deleted file mode 100644 index d26a038..0000000 Binary files a/_site/resources/img/infrastructure/expose-to-editor/expose-to-editor.png and /dev/null differ diff --git a/_site/resources/img/menu/context-menu-trigger/context-menu-trigger.png b/_site/resources/img/menu/context-menu-trigger/context-menu-trigger.png deleted file mode 100644 index 91a604d..0000000 Binary files a/_site/resources/img/menu/context-menu-trigger/context-menu-trigger.png and /dev/null differ diff --git a/_site/resources/img/menu/context-menu-trigger/context-menu.png b/_site/resources/img/menu/context-menu-trigger/context-menu.png deleted file mode 100644 index 29a7153..0000000 Binary files a/_site/resources/img/menu/context-menu-trigger/context-menu.png and /dev/null differ diff --git a/_site/resources/img/menu/get-started/results.png b/_site/resources/img/menu/get-started/results.png deleted file mode 100644 index 701e96f..0000000 Binary files a/_site/resources/img/menu/get-started/results.png and /dev/null differ diff --git a/_site/resources/img/menu/get-started/set-event-handlers.png b/_site/resources/img/menu/get-started/set-event-handlers.png deleted file mode 100644 index 19b336d..0000000 Binary files a/_site/resources/img/menu/get-started/set-event-handlers.png and /dev/null differ diff --git a/_site/resources/img/menu/get-started/set-menu-field.png b/_site/resources/img/menu/get-started/set-menu-field.png deleted file mode 100644 index b02b5f5..0000000 Binary files a/_site/resources/img/menu/get-started/set-menu-field.png and /dev/null differ diff --git a/_site/resources/img/menu/menu-item/structure.png b/_site/resources/img/menu/menu-item/structure.png deleted file mode 100644 index 2e3d41b..0000000 Binary files a/_site/resources/img/menu/menu-item/structure.png and /dev/null differ diff --git a/_site/resources/img/menu/menu/structure.png b/_site/resources/img/menu/menu/structure.png deleted file mode 100644 index 5bc754c..0000000 Binary files a/_site/resources/img/menu/menu/structure.png and /dev/null differ diff --git a/_site/resources/img/menu/overview/menu.png b/_site/resources/img/menu/overview/menu.png deleted file mode 100644 index 909f68e..0000000 Binary files a/_site/resources/img/menu/overview/menu.png and /dev/null differ diff --git a/_site/resources/img/rendering/layers-used-by-runtime-editor.png b/_site/resources/img/rendering/layers-used-by-runtime-editor.png deleted file mode 100644 index 04582f4..0000000 Binary files a/_site/resources/img/rendering/layers-used-by-runtime-editor.png and /dev/null differ diff --git a/_site/resources/img/rendering/runtime-graphics-layer.png b/_site/resources/img/rendering/runtime-graphics-layer.png deleted file mode 100644 index 420e822..0000000 Binary files a/_site/resources/img/rendering/runtime-graphics-layer.png and /dev/null differ diff --git a/_site/resources/img/rteditor/change-colors/rte-appearance.png b/_site/resources/img/rteditor/change-colors/rte-appearance.png deleted file mode 100644 index 55087e7..0000000 Binary files a/_site/resources/img/rteditor/change-colors/rte-appearance.png and /dev/null differ diff --git a/_site/resources/img/rteditor/change-colors/rte-resources.png b/_site/resources/img/rteditor/change-colors/rte-resources.png deleted file mode 100644 index 92a4ccf..0000000 Binary files a/_site/resources/img/rteditor/change-colors/rte-resources.png and /dev/null differ diff --git a/_site/resources/img/rteditor/editors-config/config-window.png b/_site/resources/img/rteditor/editors-config/config-window.png deleted file mode 100644 index 2119402..0000000 Binary files a/_site/resources/img/rteditor/editors-config/config-window.png and /dev/null differ diff --git a/_site/resources/img/rteditor/editors-config/open-config-window.png b/_site/resources/img/rteditor/editors-config/open-config-window.png deleted file mode 100644 index 04d74bd..0000000 Binary files a/_site/resources/img/rteditor/editors-config/open-config-window.png and /dev/null differ diff --git a/_site/resources/img/rteditor/file-importers/menu-item.png b/_site/resources/img/rteditor/file-importers/menu-item.png deleted file mode 100644 index 89a0645..0000000 Binary files a/_site/resources/img/rteditor/file-importers/menu-item.png and /dev/null differ diff --git a/_site/resources/img/rteditor/file-importers/rtimporter-package.png b/_site/resources/img/rteditor/file-importers/rtimporter-package.png deleted file mode 100644 index a92ca23..0000000 Binary files a/_site/resources/img/rteditor/file-importers/rtimporter-package.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/after-import.png b/_site/resources/img/rteditor/get-started/after-import.png deleted file mode 100644 index 95a3b6d..0000000 Binary files a/_site/resources/img/rteditor/get-started/after-import.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/build-all.png b/_site/resources/img/rteditor/get-started/build-all.png deleted file mode 100644 index 4aeeb4d..0000000 Binary files a/_site/resources/img/rteditor/get-started/build-all.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/create-runtime-editor.png b/_site/resources/img/rteditor/get-started/create-runtime-editor.png deleted file mode 100644 index 2b858df..0000000 Binary files a/_site/resources/img/rteditor/get-started/create-runtime-editor.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/delete-rtsl-data.png b/_site/resources/img/rteditor/get-started/delete-rtsl-data.png deleted file mode 100644 index 047a398..0000000 Binary files a/_site/resources/img/rteditor/get-started/delete-rtsl-data.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/expose-to-editor.png b/_site/resources/img/rteditor/get-started/expose-to-editor.png deleted file mode 100644 index ed31bff..0000000 Binary files a/_site/resources/img/rteditor/get-started/expose-to-editor.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/file-import-assets.png b/_site/resources/img/rteditor/get-started/file-import-assets.png deleted file mode 100644 index e27b7c2..0000000 Binary files a/_site/resources/img/rteditor/get-started/file-import-assets.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/game-view-camera.png b/_site/resources/img/rteditor/get-started/game-view-camera.png deleted file mode 100644 index 8c57dbc..0000000 Binary files a/_site/resources/img/rteditor/get-started/game-view-camera.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/import-assets.png b/_site/resources/img/rteditor/get-started/import-assets.png deleted file mode 100644 index e221475..0000000 Binary files a/_site/resources/img/rteditor/get-started/import-assets.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/rteditor-demo-scene.png b/_site/resources/img/rteditor/get-started/rteditor-demo-scene.png deleted file mode 100644 index 795dd28..0000000 Binary files a/_site/resources/img/rteditor/get-started/rteditor-demo-scene.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/runtime-editor.png b/_site/resources/img/rteditor/get-started/runtime-editor.png deleted file mode 100644 index 11b18fa..0000000 Binary files a/_site/resources/img/rteditor/get-started/runtime-editor.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/select-asset-library.png b/_site/resources/img/rteditor/get-started/select-asset-library.png deleted file mode 100644 index 948ec73..0000000 Binary files a/_site/resources/img/rteditor/get-started/select-asset-library.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/show-me-examples.png b/_site/resources/img/rteditor/get-started/show-me-examples.png deleted file mode 100644 index 821e7e5..0000000 Binary files a/_site/resources/img/rteditor/get-started/show-me-examples.png and /dev/null differ diff --git a/_site/resources/img/rteditor/get-started/use-buitin-rp-asset.png b/_site/resources/img/rteditor/get-started/use-buitin-rp-asset.png deleted file mode 100644 index 488cb49..0000000 Binary files a/_site/resources/img/rteditor/get-started/use-buitin-rp-asset.png and /dev/null differ diff --git a/_site/resources/img/rteditor/inspector-view/property-editors.png b/_site/resources/img/rteditor/inspector-view/property-editors.png deleted file mode 100644 index 953c5fb..0000000 Binary files a/_site/resources/img/rteditor/inspector-view/property-editors.png and /dev/null differ diff --git a/_site/resources/img/rteditor/inspector-view/structure.png b/_site/resources/img/rteditor/inspector-view/structure.png deleted file mode 100644 index c08efb3..0000000 Binary files a/_site/resources/img/rteditor/inspector-view/structure.png and /dev/null differ diff --git a/_site/resources/img/rteditor/menu/context-menu.png b/_site/resources/img/rteditor/menu/context-menu.png deleted file mode 100644 index c4e8a23..0000000 Binary files a/_site/resources/img/rteditor/menu/context-menu.png and /dev/null differ diff --git a/_site/resources/img/rteditor/menu/main-menu.png b/_site/resources/img/rteditor/menu/main-menu.png deleted file mode 100644 index 598511f..0000000 Binary files a/_site/resources/img/rteditor/menu/main-menu.png and /dev/null differ diff --git a/_site/resources/img/rteditor/menu/my-context-menu.png b/_site/resources/img/rteditor/menu/my-context-menu.png deleted file mode 100644 index 160001c..0000000 Binary files a/_site/resources/img/rteditor/menu/my-context-menu.png and /dev/null differ diff --git a/_site/resources/img/rteditor/overview/overview.png b/_site/resources/img/rteditor/overview/overview.png deleted file mode 100644 index bb38580..0000000 Binary files a/_site/resources/img/rteditor/overview/overview.png and /dev/null differ diff --git a/_site/resources/img/rteditor/overview/use-legacy-builtin-windows.png b/_site/resources/img/rteditor/overview/use-legacy-builtin-windows.png deleted file mode 100644 index 8faad8d..0000000 Binary files a/_site/resources/img/rteditor/overview/use-legacy-builtin-windows.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/custom-window-created.png b/_site/resources/img/rteditor/window-manager/custom-window-created.png deleted file mode 100644 index 8c2615e..0000000 Binary files a/_site/resources/img/rteditor/window-manager/custom-window-created.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/custom-window-menu.png b/_site/resources/img/rteditor/window-manager/custom-window-menu.png deleted file mode 100644 index c0ddb6a..0000000 Binary files a/_site/resources/img/rteditor/window-manager/custom-window-menu.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/custom-window.png b/_site/resources/img/rteditor/window-manager/custom-window.png deleted file mode 100644 index 2a9a043..0000000 Binary files a/_site/resources/img/rteditor/window-manager/custom-window.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/layout-override-result.png b/_site/resources/img/rteditor/window-manager/layout-override-result.png deleted file mode 100644 index d2359fe..0000000 Binary files a/_site/resources/img/rteditor/window-manager/layout-override-result.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/layout-override.png b/_site/resources/img/rteditor/window-manager/layout-override.png deleted file mode 100644 index 2a4df39..0000000 Binary files a/_site/resources/img/rteditor/window-manager/layout-override.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/tools-override-result.png b/_site/resources/img/rteditor/window-manager/tools-override-result.png deleted file mode 100644 index f5146a0..0000000 Binary files a/_site/resources/img/rteditor/window-manager/tools-override-result.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/tools-override.png b/_site/resources/img/rteditor/window-manager/tools-override.png deleted file mode 100644 index 08ded96..0000000 Binary files a/_site/resources/img/rteditor/window-manager/tools-override.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/ui-scale-after-override.png b/_site/resources/img/rteditor/window-manager/ui-scale-after-override.png deleted file mode 100644 index f730f7a..0000000 Binary files a/_site/resources/img/rteditor/window-manager/ui-scale-after-override.png and /dev/null differ diff --git a/_site/resources/img/rteditor/window-manager/ui-scale-before-override.png b/_site/resources/img/rteditor/window-manager/ui-scale-before-override.png deleted file mode 100644 index 4432f14..0000000 Binary files a/_site/resources/img/rteditor/window-manager/ui-scale-before-override.png and /dev/null differ diff --git a/_site/resources/img/save-load/asset-libraries/create-asset-library.png b/_site/resources/img/save-load/asset-libraries/create-asset-library.png deleted file mode 100644 index 5e332b0..0000000 Binary files a/_site/resources/img/save-load/asset-libraries/create-asset-library.png and /dev/null differ diff --git a/_site/resources/img/save-load/asset-libraries/populate-asset-library.png b/_site/resources/img/save-load/asset-libraries/populate-asset-library.png deleted file mode 100644 index dd038ce..0000000 Binary files a/_site/resources/img/save-load/asset-libraries/populate-asset-library.png and /dev/null differ diff --git a/_site/resources/img/save-load/asset-libraries/special-asset-libraries.png b/_site/resources/img/save-load/asset-libraries/special-asset-libraries.png deleted file mode 100644 index 655cae3..0000000 Binary files a/_site/resources/img/save-load/asset-libraries/special-asset-libraries.png and /dev/null differ diff --git a/_site/resources/img/save-load/asset-libraries/synchronize-asset-library.png b/_site/resources/img/save-load/asset-libraries/synchronize-asset-library.png deleted file mode 100644 index b4ff921..0000000 Binary files a/_site/resources/img/save-load/asset-libraries/synchronize-asset-library.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/collect-scene-dependencies.png b/_site/resources/img/save-load/get-started/collect-scene-dependencies.png deleted file mode 100644 index 71c9acb..0000000 Binary files a/_site/resources/img/save-load/get-started/collect-scene-dependencies.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/config-window.png b/_site/resources/img/save-load/get-started/config-window.png deleted file mode 100644 index ec1e5dc..0000000 Binary files a/_site/resources/img/save-load/get-started/config-window.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/demo.png b/_site/resources/img/save-load/get-started/demo.png deleted file mode 100644 index 7f9e332..0000000 Binary files a/_site/resources/img/save-load/get-started/demo.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/demo2.png b/_site/resources/img/save-load/get-started/demo2.png deleted file mode 100644 index 24d6136..0000000 Binary files a/_site/resources/img/save-load/get-started/demo2.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/folders.png b/_site/resources/img/save-load/get-started/folders.png deleted file mode 100644 index bbd058b..0000000 Binary files a/_site/resources/img/save-load/get-started/folders.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/game-prefab.png b/_site/resources/img/save-load/get-started/game-prefab.png deleted file mode 100644 index 1caeb33..0000000 Binary files a/_site/resources/img/save-load/get-started/game-prefab.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/project.png b/_site/resources/img/save-load/get-started/project.png deleted file mode 100644 index b27f511..0000000 Binary files a/_site/resources/img/save-load/get-started/project.png and /dev/null differ diff --git a/_site/resources/img/save-load/get-started/savedscene.png b/_site/resources/img/save-load/get-started/savedscene.png deleted file mode 100644 index 3a99739..0000000 Binary files a/_site/resources/img/save-load/get-started/savedscene.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/create-custom-implementation.png b/_site/resources/img/save-load/persistent-classes/create-custom-implementation.png deleted file mode 100644 index 83aec8a..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/create-custom-implementation.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/custom-implementation-folder.png b/_site/resources/img/save-load/persistent-classes/custom-implementation-folder.png deleted file mode 100644 index bd63edf..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/custom-implementation-folder.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/edit-custom-implementation.png b/_site/resources/img/save-load/persistent-classes/edit-custom-implementation.png deleted file mode 100644 index 3eb2459..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/edit-custom-implementation.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/editor.png b/_site/resources/img/save-load/persistent-classes/editor.png deleted file mode 100644 index 8f0f4eb..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/editor.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/mappings-folder.png b/_site/resources/img/save-load/persistent-classes/mappings-folder.png deleted file mode 100644 index 1e26134..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/mappings-folder.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png b/_site/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png deleted file mode 100644 index e63f244..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/open-persistent-classes-editor.png and /dev/null differ diff --git a/_site/resources/img/save-load/persistent-classes/persistent-classes-folder.png b/_site/resources/img/save-load/persistent-classes/persistent-classes-folder.png deleted file mode 100644 index 0270a31..0000000 Binary files a/_site/resources/img/save-load/persistent-classes/persistent-classes-folder.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/box-selection/create-box-selection.png b/_site/resources/img/transform-handels/box-selection/create-box-selection.png deleted file mode 100644 index 736c389..0000000 Binary files a/_site/resources/img/transform-handels/box-selection/create-box-selection.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/getting-started/step1-create-transform-handles.png b/_site/resources/img/transform-handels/getting-started/step1-create-transform-handles.png deleted file mode 100644 index aed391c..0000000 Binary files a/_site/resources/img/transform-handels/getting-started/step1-create-transform-handles.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/getting-started/step2-create-object.png b/_site/resources/img/transform-handels/getting-started/step2-create-object.png deleted file mode 100644 index 56a6677..0000000 Binary files a/_site/resources/img/transform-handels/getting-started/step2-create-object.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/getting-started/step3-enable-editing.png b/_site/resources/img/transform-handels/getting-started/step3-enable-editing.png deleted file mode 100644 index 297359e..0000000 Binary files a/_site/resources/img/transform-handels/getting-started/step3-enable-editing.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/getting-started/step4-hit-play.png b/_site/resources/img/transform-handels/getting-started/step4-hit-play.png deleted file mode 100644 index 2a846b1..0000000 Binary files a/_site/resources/img/transform-handels/getting-started/step4-hit-play.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/grid/scene-grid.png b/_site/resources/img/transform-handels/grid/scene-grid.png deleted file mode 100644 index 8836c77..0000000 Binary files a/_site/resources/img/transform-handels/grid/scene-grid.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png b/_site/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png deleted file mode 100644 index 97a6e6e..0000000 Binary files a/_site/resources/img/transform-handels/lock-axes/position-handle-x-y-locked.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/overview/all-in-one.png b/_site/resources/img/transform-handels/overview/all-in-one.png deleted file mode 100644 index a968271..0000000 Binary files a/_site/resources/img/transform-handels/overview/all-in-one.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/overview/overview.png b/_site/resources/img/transform-handels/overview/overview.png deleted file mode 100644 index a8d64c0..0000000 Binary files a/_site/resources/img/transform-handels/overview/overview.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/position-handle/create-position-handle.png b/_site/resources/img/transform-handels/position-handle/create-position-handle.png deleted file mode 100644 index 0a10e26..0000000 Binary files a/_site/resources/img/transform-handels/position-handle/create-position-handle.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png b/_site/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png deleted file mode 100644 index 1a9f8af..0000000 Binary files a/_site/resources/img/transform-handels/position-handle/position-handle-model-adjustment.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/position-handle/set-model-field.png b/_site/resources/img/transform-handels/position-handle/set-model-field.png deleted file mode 100644 index 5af49c7..0000000 Binary files a/_site/resources/img/transform-handels/position-handle/set-model-field.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/rotation-handle/create-rotation-handle.png b/_site/resources/img/transform-handels/rotation-handle/create-rotation-handle.png deleted file mode 100644 index b9ec37e..0000000 Binary files a/_site/resources/img/transform-handels/rotation-handle/create-rotation-handle.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png b/_site/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png deleted file mode 100644 index 4bf7a15..0000000 Binary files a/_site/resources/img/transform-handels/rotation-handle/rotation-handle-model-adjustment.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/rotation-handle/set-model-field.png b/_site/resources/img/transform-handels/rotation-handle/set-model-field.png deleted file mode 100644 index 2768a35..0000000 Binary files a/_site/resources/img/transform-handels/rotation-handle/set-model-field.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png b/_site/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png deleted file mode 100644 index 29d6fed..0000000 Binary files a/_site/resources/img/transform-handels/runtime-handles-component/runtime-handles-component.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png b/_site/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png deleted file mode 100644 index 6427f50..0000000 Binary files a/_site/resources/img/transform-handels/runtime-scene-component/create-runtime-scene-component.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png b/_site/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png deleted file mode 100644 index 82508e9..0000000 Binary files a/_site/resources/img/transform-handels/runtime-selection-component/runtime-selection-component.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/scale-handle/create-scale-handle.png b/_site/resources/img/transform-handels/scale-handle/create-scale-handle.png deleted file mode 100644 index 31d1d78..0000000 Binary files a/_site/resources/img/transform-handels/scale-handle/create-scale-handle.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png b/_site/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png deleted file mode 100644 index fd84a08..0000000 Binary files a/_site/resources/img/transform-handels/scale-handle/scale-handle-model-adjustment.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/scale-handle/set-model-field.png b/_site/resources/img/transform-handels/scale-handle/set-model-field.png deleted file mode 100644 index 45ce334..0000000 Binary files a/_site/resources/img/transform-handels/scale-handle/set-model-field.png and /dev/null differ diff --git a/_site/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png b/_site/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png deleted file mode 100644 index f0058be..0000000 Binary files a/_site/resources/img/transform-handels/scene-gizmo/create-scene-gizmo.png and /dev/null differ diff --git a/_site/resources/img/urp-support/getting-started-1.png b/_site/resources/img/urp-support/getting-started-1.png deleted file mode 100644 index e304398..0000000 Binary files a/_site/resources/img/urp-support/getting-started-1.png and /dev/null differ diff --git a/_site/resources/img/urp-support/getting-started-2.png b/_site/resources/img/urp-support/getting-started-2.png deleted file mode 100644 index 69e500a..0000000 Binary files a/_site/resources/img/urp-support/getting-started-2.png and /dev/null differ diff --git a/_site/resources/img/urp-support/getting-started-4.png b/_site/resources/img/urp-support/getting-started-4.png deleted file mode 100644 index a90b52e..0000000 Binary files a/_site/resources/img/urp-support/getting-started-4.png and /dev/null differ diff --git a/_site/resources/img/urp-support/getting-started-5.png b/_site/resources/img/urp-support/getting-started-5.png deleted file mode 100644 index 333ffa8..0000000 Binary files a/_site/resources/img/urp-support/getting-started-5.png and /dev/null differ diff --git a/_site/resources/img/urp-support/rthandles-urp-support.png b/_site/resources/img/urp-support/rthandles-urp-support.png deleted file mode 100644 index 5724b12..0000000 Binary files a/_site/resources/img/urp-support/rthandles-urp-support.png and /dev/null differ diff --git a/_site/resources/img/vtv/get-started/get-started.png b/_site/resources/img/vtv/get-started/get-started.png deleted file mode 100644 index 58f46f4..0000000 Binary files a/_site/resources/img/vtv/get-started/get-started.png and /dev/null differ diff --git a/_site/resources/img/vtv/item-drop-marker/item-drop-marker.png b/_site/resources/img/vtv/item-drop-marker/item-drop-marker.png deleted file mode 100644 index 3e9f148..0000000 Binary files a/_site/resources/img/vtv/item-drop-marker/item-drop-marker.png and /dev/null differ diff --git a/_site/resources/img/vtv/overview/vtv.png b/_site/resources/img/vtv/overview/vtv.png deleted file mode 100644 index 8c9693a..0000000 Binary files a/_site/resources/img/vtv/overview/vtv.png and /dev/null differ diff --git a/_site/resources/img/vtv/vtv-item/structure.png b/_site/resources/img/vtv/vtv-item/structure.png deleted file mode 100644 index 75ea399..0000000 Binary files a/_site/resources/img/vtv/vtv-item/structure.png and /dev/null differ diff --git a/_site/resources/img/vtv/vtv/structure.png b/_site/resources/img/vtv/vtv/structure.png deleted file mode 100644 index f5c4566..0000000 Binary files a/_site/resources/img/vtv/vtv/structure.png and /dev/null differ diff --git a/_site/search-stopwords.json b/_site/search-stopwords.json deleted file mode 100644 index 0bdcc2c..0000000 --- a/_site/search-stopwords.json +++ /dev/null @@ -1,121 +0,0 @@ -[ - "a", - "able", - "about", - "across", - "after", - "all", - "almost", - "also", - "am", - "among", - "an", - "and", - "any", - "are", - "as", - "at", - "be", - "because", - "been", - "but", - "by", - "can", - "cannot", - "could", - "dear", - "did", - "do", - "does", - "either", - "else", - "ever", - "every", - "for", - "from", - "get", - "got", - "had", - "has", - "have", - "he", - "her", - "hers", - "him", - "his", - "how", - "however", - "i", - "if", - "in", - "into", - "is", - "it", - "its", - "just", - "least", - "let", - "like", - "likely", - "may", - "me", - "might", - "most", - "must", - "my", - "neither", - "no", - "nor", - "not", - "of", - "off", - "often", - "on", - "only", - "or", - "other", - "our", - "own", - "rather", - "said", - "say", - "says", - "she", - "should", - "since", - "so", - "some", - "than", - "that", - "the", - "their", - "them", - "then", - "there", - "these", - "they", - "this", - "tis", - "to", - "too", - "twas", - "us", - "wants", - "was", - "we", - "were", - "what", - "when", - "where", - "which", - "while", - "who", - "whom", - "why", - "will", - "with", - "would", - "yet", - "you", - "your" -] diff --git a/_site/sitemap.xml b/_site/sitemap.xml deleted file mode 100644 index ea0cb29..0000000 --- a/_site/sitemap.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - https://normanderwan.github.io/DocFxForUnity/api/Battlehub.RTCommon.IOC.html - 2023-09-15T08:54:03+03:00 - daily - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/api/Battlehub.RTCommon.html - 2023-09-15T08:54:03+03:00 - daily - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/api/Battlehub.RTEditor.IWindowManager.html - 2023-09-15T08:54:03+03:00 - daily - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/api/Battlehub.RTEditor.html - 2023-09-15T08:54:03+03:00 - daily - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/index.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/animation-editor.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/dock-panels.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/editor-extensions.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/general.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/gizmos.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/hdrp-support.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/infrastructure.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/menu-control.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/rendering.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/runtime-editor.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/save-load.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/transform-handles.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/urp-support.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - - https://normanderwan.github.io/DocFxForUnity/manual/vtv.html - 2023-09-15T08:54:03+03:00 - weekly - 0.5 - - \ No newline at end of file diff --git a/_site/styles/docfx.css b/_site/styles/docfx.css deleted file mode 100644 index a8f7ff6..0000000 --- a/_site/styles/docfx.css +++ /dev/null @@ -1,1039 +0,0 @@ -/** - * Licensed to the .NET Foundation under one or more agreements. - * The .NET Foundation licenses this file to you under the MIT license. - */ -html, -body { - font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif; - height: 100%; -} -button, -a { - color: #337ab7; - cursor: pointer; -} -button:hover, -button:focus, -a:hover, -a:focus { - color: #23527c; - text-decoration: none; -} -a.disable, -a.disable:hover { - text-decoration: none; - cursor: default; - color: #000000; -} - -h1, h2, h3, h4, h5, h6, .text-break { - word-wrap: break-word; - word-break: break-word; -} - -h1 mark, -h2 mark, -h3 mark, -h4 mark, -h5 mark, -h6 mark { - padding: 0; -} - -.inheritance .level0:before, -.inheritance .level1:before, -.inheritance .level2:before, -.inheritance .level3:before, -.inheritance .level4:before, -.inheritance .level5:before, -.inheritance .level6:before, -.inheritance .level7:before, -.inheritance .level8:before, -.inheritance .level9:before { - content: '↳'; - margin-right: 5px; -} - -.inheritance .level0 { - margin-left: 0em; -} - -.inheritance .level1 { - margin-left: 1em; -} - -.inheritance .level2 { - margin-left: 2em; -} - -.inheritance .level3 { - margin-left: 3em; -} - -.inheritance .level4 { - margin-left: 4em; -} - -.inheritance .level5 { - margin-left: 5em; -} - -.inheritance .level6 { - margin-left: 6em; -} - -.inheritance .level7 { - margin-left: 7em; -} - -.inheritance .level8 { - margin-left: 8em; -} - -.inheritance .level9 { - margin-left: 9em; -} - -.level0.summary { - margin: 2em 0 2em 0; -} - -.level1.summary { - margin: 1em 0 1em 0; -} - -span.parametername, -span.paramref, -span.typeparamref { - font-style: italic; -} -span.languagekeyword{ - font-weight: bold; -} - -svg:hover path { - fill: #ffffff; -} - -.hljs { - display: inline; - background-color: inherit; - padding: 0; -} -/* additional spacing fixes */ -.btn + .btn { - margin-left: 10px; -} -.btn.pull-right { - margin-left: 10px; - margin-top: 5px; -} -.table { - margin-bottom: 10px; -} -table p { - margin-bottom: 0; -} -table a { - display: inline-block; -} - -/* Make hidden attribute compatible with old browser.*/ -[hidden] { - display: none !important; -} - -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 15px; - margin-bottom: 10px; - font-weight: 400; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 5px; -} -.navbar { - margin-bottom: 0; -} -#wrapper { - min-height: 100%; - position: relative; -} -/* blends header footer and content together with gradient effect */ -.grad-top { - /* For Safari 5.1 to 6.0 */ - /* For Opera 11.1 to 12.0 */ - /* For Firefox 3.6 to 15 */ - background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0)); - /* Standard syntax */ - height: 5px; -} -.grad-bottom { - /* For Safari 5.1 to 6.0 */ - /* For Opera 11.1 to 12.0 */ - /* For Firefox 3.6 to 15 */ - background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05)); - /* Standard syntax */ - height: 5px; -} -.divider { - margin: 0 5px; - color: #cccccc; -} -hr { - border-color: #cccccc; -} -header { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} -header .navbar { - border-width: 0 0 1px; - border-radius: 0; -} -.navbar-brand { - font-size: inherit; - padding: 0; -} -.navbar-collapse { - margin: 0 -15px; -} -.subnav { - min-height: 40px; -} - -.inheritance h5, .inheritedMembers h5{ - padding-bottom: 5px; - border-bottom: 1px solid #ccc; -} - -article h1, article h2, article h3, article h4{ - margin-top: 25px; -} - -article h4{ - border: 0; - font-weight: bold; - margin-top: 2em; -} - -article span.small.pull-right{ - margin-top: 20px; -} - -article section { - margin-left: 1em; -} - -/*.expand-all { - padding: 10px 0; -}*/ -.breadcrumb { - margin: 0; - padding: 10px 0; - background-color: inherit; - white-space: nowrap; -} -.breadcrumb > li + li:before { - content: "\00a0/"; -} -#autocollapse.collapsed .navbar-header { - float: none; -} -#autocollapse.collapsed .navbar-toggle { - display: block; -} -#autocollapse.collapsed .navbar-collapse { - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -} -#autocollapse.collapsed .navbar-collapse.collapse { - display: none !important; -} -#autocollapse.collapsed .navbar-nav { - float: none !important; - margin: 7.5px -15px; -} -#autocollapse.collapsed .navbar-nav > li { - float: none; -} -#autocollapse.collapsed .navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; -} -#autocollapse.collapsed .collapse.in, -#autocollapse.collapsed .collapsing { - display: block !important; -} -#autocollapse.collapsed .collapse.in .navbar-right, -#autocollapse.collapsed .collapsing .navbar-right { - float: none !important; -} -#autocollapse .form-group { - width: 100%; -} -#autocollapse .form-control { - width: 100%; -} -#autocollapse .navbar-header { - margin-left: 0; - margin-right: 0; -} -#autocollapse .navbar-brand { - margin-left: 0; -} -.collapse.in, -.collapsing { - text-align: center; -} -.collapsing .navbar-form { - margin: 0 auto; - max-width: 400px; - padding: 10px 15px; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -} -.collapsed .collapse.in .navbar-form { - margin: 0 auto; - max-width: 400px; - padding: 10px 15px; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -} -.navbar .navbar-nav { - display: inline-block; -} -.docs-search { - background: white; - vertical-align: middle; -} -.docs-search > .search-query { - font-size: 14px; - border: 0; - width: 120%; - color: #555; -} -.docs-search > .search-query:focus { - outline: 0; -} -.search-results-frame { - clear: both; - display: table; - width: 100%; -} -.search-results.ng-hide { - display: none; -} -.search-results-container { - padding-bottom: 1em; - border-top: 1px solid #111; - background: rgba(25, 25, 25, 0.5); -} -.search-results-container .search-results-group { - padding-top: 50px !important; - padding: 10px; -} -.search-results-group-heading { - font-family: "Open Sans"; - padding-left: 10px; - color: white; -} -.search-close { - position: absolute; - left: 50%; - margin-left: -100px; - color: white; - text-align: center; - padding: 5px; - background: #333; - border-top-right-radius: 5px; - border-top-left-radius: 5px; - width: 200px; - box-shadow: 0 0 10px #111; -} -#search { - display: none; -} - -/* Search results display*/ -#search-results { - max-width: 960px !important; - margin-top: 120px; - margin-bottom: 115px; - margin-left: auto; - margin-right: auto; - line-height: 1.8; - display: none; -} - -#search-results>.search-list { - text-align: center; - font-size: 2.5rem; - margin-bottom: 50px; -} - -#search-results p { - text-align: center; -} - -#search-results p .index-loading { - animation: index-loading 1.5s infinite linear; - -webkit-animation: index-loading 1.5s infinite linear; - -o-animation: index-loading 1.5s infinite linear; - font-size: 2.5rem; -} - -@keyframes index-loading { - from { transform: scale(1) rotate(0deg);} - to { transform: scale(1) rotate(360deg);} -} - -@-webkit-keyframes index-loading { - from { -webkit-transform: rotate(0deg);} - to { -webkit-transform: rotate(360deg);} -} - -@-o-keyframes index-loading { - from { -o-transform: rotate(0deg);} - to { -o-transform: rotate(360deg);} -} - -#search-results .sr-items { - font-size: 24px; -} - -.sr-item { - margin-bottom: 25px; -} - -.sr-item>.item-href { - font-size: 14px; - color: #093; -} - -.sr-item>.item-brief { - font-size: 13px; -} - -.pagination>li>a { - color: #47A7A0 -} - -.pagination>.active>a { - background-color: #47A7A0; - border-color: #47A7A0; -} - -.fixed_header { - position: fixed; - width: 100%; - padding-bottom: 10px; - padding-top: 10px; - margin: 0px; - top: 0; - z-index: 9999; - left: 0; -} - -.fixed_header+.toc{ - margin-top: 50px; - margin-left: 0; -} - -.sidenav, .fixed_header, .toc { - background-color: #f1f1f1; -} - -.sidetoc { - position: fixed; - width: 260px; - top: 150px; - bottom: 0; - overflow-x: hidden; - overflow-y: auto; - background-color: #f1f1f1; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - z-index: 1; -} - -.sidetoc.shiftup { - bottom: 70px; -} - -body .toc{ - background-color: #f1f1f1; - overflow-x: hidden; -} - -.sidetoggle.ng-hide { - display: block !important; -} -.sidetoc-expand > .caret { - margin-left: 0px; - margin-top: -2px; -} -.sidetoc-expand > .caret-side { - border-left: 4px solid; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - margin-left: 4px; - margin-top: -4px; -} -.sidetoc-heading { - font-weight: 500; -} - -.toc { - margin: 0px 0 0 10px; - padding: 0 10px; -} -.expand-stub { - position: absolute; - left: -10px; - font-weight: bold; -} -.expand-stub + a { - font-weight: bold; -} -.toc .nav > li > a.sidetoc-expand { - position: absolute; - top: 0; - left: 0; -} -.toc .nav > li > a { - color: #666666; - margin-left: 5px; - display: block; - padding: 0; -} -.toc .nav > li > a:hover, -.toc .nav > li > a:focus { - color: #000000; - background: none; - text-decoration: inherit; -} -.toc .nav > li.active > a { - color: #337ab7; -} -.toc .nav > li.active > a:hover, -.toc .nav > li.active > a:focus { - color: #23527c; -} - -.toc .nav > li> .expand-stub { - cursor: pointer; -} - -.toc .nav > li.active > .expand-stub::before, -.toc .nav > li.in > .expand-stub::before, -.toc .nav > li.in.active > .expand-stub::before, -.toc .nav > li.filtered > .expand-stub::before { - content: "-"; -} - -.toc .nav > li > .expand-stub::before, -.toc .nav > li.active > .expand-stub::before { - content: "+"; -} - -.toc .nav > li.filtered > ul, -.toc .nav > li.in > ul { - display: block; -} - -.toc .nav > li > ul { - display: none; -} - -.toc ul{ - font-size: 12px; - margin: 0 0 0 3px; -} - -.toc .level1 > li { - font-weight: bold; - margin-top: 10px; - position: relative; - font-size: 16px; -} -.toc .level2 { - font-weight: normal; - margin: 5px 0 0 15px; - font-size: 14px; -} -.toc-toggle { - display: none; - margin: 0 15px 0px 15px; -} -.sidefilter { - position: fixed; - top: 90px; - width: 260px; - background-color: #f1f1f1; - padding: 15px; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - z-index: 1; -} -.toc-filter { - border-radius: 5px; - background: #fff; - color: #666666; - padding: 5px; - position: relative; - margin: 0 5px 0 5px; -} -.toc-filter > input { - border: 0; - color: #666666; - padding-left: 20px; - padding-right: 20px; - width: 100%; -} -.toc-filter > input:focus { - outline: 0; -} -.toc-filter > .filter-icon { - position: absolute; - top: 10px; - left: 5px; -} -.toc-filter > .clear-icon { - position: absolute; - top: 10px; - right: 5px; -} -.article { - margin-top: 120px; - margin-bottom: 115px; -} - -#_content>a{ - margin-top: 105px; -} - -.article.grid-right { - margin-left: 280px; -} - -.inheritance hr { - margin-top: 5px; - margin-bottom: 5px; -} -.article img { - max-width: 100%; -} -.sideaffix { - margin-top: 50px; - font-size: 12px; - max-height: 100%; - overflow: hidden; - top: 100px; - bottom: 10px; - position: fixed; -} -.sideaffix.shiftup { - bottom: 70px; -} -.affix { - position: relative; - height: 100%; -} -.sideaffix > div.contribution { - margin-bottom: 20px; -} -.sideaffix > div.contribution > ul > li > a.contribution-link { - padding: 6px 10px; - font-weight: bold; - font-size: 14px; -} -.sideaffix > div.contribution > ul > li > a.contribution-link:hover { - background-color: #ffffff; -} -.sideaffix ul.nav > li > a:focus { - background: none; -} -.affix h5 { - font-weight: bold; - text-transform: uppercase; - padding-left: 10px; - font-size: 12px; -} -.affix > ul.level1 { - overflow: hidden; - padding-bottom: 10px; - height: calc(100% - 100px); -} -.affix ul > li > a:before { - color: #cccccc; - position: absolute; -} -.affix ul > li > a:hover { - background: none; - color: #666666; -} -.affix ul > li.active > a, -.affix ul > li.active > a:before { - color: #337ab7; -} -.affix ul > li > a { - padding: 5px 12px; - color: #666666; -} -.affix > ul > li.active:last-child { - margin-bottom: 50px; -} -.affix > ul > li > a:before { - content: "|"; - font-size: 16px; - top: 1px; - left: 0; -} -.affix > ul > li.active > a, -.affix > ul > li.active > a:before { - color: #337ab7; - font-weight: bold; -} -.affix ul ul > li > a { - padding: 2px 15px; -} -.affix ul ul > li > a:before { - content: ">"; - font-size: 14px; - top: -1px; - left: 5px; -} -.affix ul > li > a:before, -.affix ul ul { - display: none; -} -.affix ul > li.active > ul, -.affix ul > li.active > a:before, -.affix ul > li > a:hover:before { - display: block; - white-space: nowrap; -} -.codewrapper { - position: relative; -} -.trydiv { - height: 0px; -} -.tryspan { - position: absolute; - top: 0px; - right: 0px; - border-style: solid; - border-radius: 0px 4px; - box-sizing: border-box; - border-width: 1px; - border-color: #cccccc; - text-align: center; - padding: 2px 8px; - background-color: white; - font-size: 12px; - cursor: pointer; - z-index: 100; - display: none; - color: #767676; -} -.tryspan:hover { - background-color: #3b8bd0; - color: white; - border-color: #3b8bd0; -} -.codewrapper:hover .tryspan { - display: block; -} -.sample-response .response-content{ - max-height: 200px; -} -footer { - position: absolute; - left: 0; - right: 0; - bottom: 0; - z-index: 1000; -} -.footer { - border-top: 1px solid #e7e7e7; - background-color: #f8f8f8; - padding: 15px 0; -} -@media (min-width: 768px) { - #sidetoggle.collapse { - display: block; - } - .topnav .navbar-nav { - float: none; - white-space: nowrap; - } - .topnav .navbar-nav > li { - float: none; - display: inline-block; - } -} -@media only screen and (max-width: 768px) { - #mobile-indicator { - display: block; - } - /* TOC display for responsive */ - .article { - margin-top: 30px !important; - } - header { - position: static; - } - .topnav { - text-align: center; - } - .sidenav { - padding: 15px 0; - margin-left: -15px; - margin-right: -15px; - } - .sidefilter { - position: static; - width: auto; - float: none; - border: none; - } - .sidetoc { - position: static; - width: auto; - float: none; - padding-bottom: 0px; - border: none; - } - .toc .nav > li, .toc .nav > li >a { - display: inline-block; - } - .toc li:after { - margin-left: -3px; - margin-right: 5px; - content: ", "; - color: #666666; - } - .toc .level1 > li { - display: block; - } - - .toc .level1 > li:after { - display: none; - } - .article.grid-right { - margin-left: 0; - } - .grad-top, - .grad-bottom { - display: none; - } - .toc-toggle { - display: block; - } - .sidetoggle.ng-hide { - display: none !important; - } - /*.expand-all { - display: none; - }*/ - .sideaffix { - display: none; - } - .mobile-hide { - display: none; - } - .breadcrumb { - white-space: inherit; - } - - /* workaround for #hashtag url is no longer needed*/ - h1:before, - h2:before, - h3:before, - h4:before { - content: ''; - display: none; - } -} - -/* For toc iframe */ -@media (max-width: 260px) { - .toc .level2 > li { - display: block; - } - - .toc .level2 > li:after { - display: none; - } -} - -/* Code snippet */ -code { - color: #717374; - background-color: #f1f2f3; -} - -a code { - color: #337ab7; - background-color: #f1f2f3; -} - -a code:hover { - text-decoration: underline; -} - -.hljs-keyword { - color: rgb(86,156,214); -} - -.hljs-string { - color: rgb(214, 157, 133); -} - -pre { - border: 0; -} - -/* For code snippet line highlight */ -pre > code .line-highlight { - background-color: #ffffcc; -} - -/* Alerts */ -.alert h5 { - text-transform: uppercase; - font-weight: bold; - margin-top: 0; -} - -.alert h5:before { - position:relative; - top:1px; - display:inline-block; - font-family:'Glyphicons Halflings'; - line-height:1; - -webkit-font-smoothing:antialiased; - -moz-osx-font-smoothing:grayscale; - margin-right: 5px; - font-weight: normal; -} - -.alert-info h5:before { - content:"\e086" -} - -.alert-warning h5:before { - content:"\e127" -} - -.alert-danger h5:before { - content:"\e107" -} - -/* For Embedded Video */ -div.embeddedvideo { - padding-top: 56.25%; - position: relative; - width: 100%; -} - -div.embeddedvideo iframe { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; -} - -/* For printer */ -@media print{ - .article.grid-right { - margin-top: 0px; - margin-left: 0px; - } - .sideaffix { - display: none; - } - .mobile-hide { - display: none; - } - .footer { - display: none; - } -} - -/* For tabbed content */ - -.tabGroup { - margin-top: 1rem; } - .tabGroup ul[role="tablist"] { - margin: 0; - padding: 0; - list-style: none; } - .tabGroup ul[role="tablist"] > li { - list-style: none; - display: inline-block; } - .tabGroup a[role="tab"] { - color: #6e6e6e; - box-sizing: border-box; - display: inline-block; - padding: 5px 7.5px; - text-decoration: none; - border-bottom: 2px solid #fff; } - .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus, .tabGroup a[role="tab"][aria-selected="true"] { - border-bottom: 2px solid #0050C5; } - .tabGroup a[role="tab"][aria-selected="true"] { - color: #222; } - .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus { - color: #0050C5; } - .tabGroup a[role="tab"]:focus { - outline: 1px solid #0050C5; - outline-offset: -1px; } - @media (min-width: 768px) { - .tabGroup a[role="tab"] { - padding: 5px 15px; } } - .tabGroup section[role="tabpanel"] { - border: 1px solid #e0e0e0; - padding: 15px; - margin: 0; - overflow: hidden; } - .tabGroup section[role="tabpanel"] > .codeHeader, - .tabGroup section[role="tabpanel"] > pre { - margin-left: -16px; - margin-right: -16px; } - .tabGroup section[role="tabpanel"] > :first-child { - margin-top: 0; } - .tabGroup section[role="tabpanel"] > pre:last-child { - display: block; - margin-bottom: -16px; } - -.mainContainer[dir='rtl'] main ul[role="tablist"] { - margin: 0; } - -/* Color theme */ - -/* These are not important, tune down **/ -.declaration, .fieldValue, .parameters, .returns { - color: #a2a2a2; -} - -/* Major sections, increase visibility **/ -#fields, #properties, #methods, #events { - font-weight: bold; - margin-top: 2em; -} diff --git a/_site/styles/docfx.js b/_site/styles/docfx.js deleted file mode 100644 index db4a1ab..0000000 --- a/_site/styles/docfx.js +++ /dev/null @@ -1,1224 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -$(function () { - var active = 'active'; - var expanded = 'in'; - var collapsed = 'collapsed'; - var filtered = 'filtered'; - var show = 'show'; - var hide = 'hide'; - var util = new utility(); - - workAroundFixedHeaderForAnchors(); - highlight(); - enableSearch(); - - renderTables(); - renderAlerts(); - renderLinks(); - renderNavbar(); - renderSidebar(); - renderAffix(); - renderFooter(); - renderLogo(); - - breakText(); - renderTabs(); - - window.refresh = function (article) { - // Update markup result - if (typeof article == 'undefined' || typeof article.content == 'undefined') - console.error("Null Argument"); - $("article.content").html(article.content); - - highlight(); - renderTables(); - renderAlerts(); - renderAffix(); - renderTabs(); - } - - // Add this event listener when needed - // window.addEventListener('content-update', contentUpdate); - - function breakText() { - $(".xref").addClass("text-break"); - var texts = $(".text-break"); - texts.each(function () { - $(this).breakWord(); - }); - } - - // Styling for tables in conceptual documents using Bootstrap. - // See http://getbootstrap.com/css/#tables - function renderTables() { - $('table').addClass('table table-bordered table-condensed').wrap('
                                        '); - } - - // Styling for alerts. - function renderAlerts() { - $('.NOTE, .TIP').addClass('alert alert-info'); - $('.WARNING').addClass('alert alert-warning'); - $('.IMPORTANT, .CAUTION').addClass('alert alert-danger'); - } - - // Enable anchors for headings. - (function () { - anchors.options = { - placement: 'left', - visible: 'hover' - }; - anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)'); - })(); - - // Open links to different host in a new window. - function renderLinks() { - if ($("meta[property='docfx:newtab']").attr("content") === "true") { - $(document.links).filter(function () { - return this.hostname !== window.location.hostname; - }).attr('target', '_blank'); - } - } - - // Enable highlight.js - function highlight() { - $('pre code').each(function (i, block) { - hljs.highlightElement(block); - }); - $('pre code[highlight-lines]').each(function (i, block) { - if (block.innerHTML === "") return; - var lines = block.innerHTML.split('\n'); - - queryString = block.getAttribute('highlight-lines'); - if (!queryString) return; - - var ranges = queryString.split(','); - for (var j = 0, range; range = ranges[j++];) { - var found = range.match(/^(\d+)\-(\d+)?$/); - if (found) { - // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional - var start = +found[1]; - var end = +found[2]; - if (isNaN(end) || end > lines.length) { - end = lines.length; - } - } else { - // consider region as a sigine line number - if (isNaN(range)) continue; - var start = +range; - var end = start; - } - if (start <= 0 || end <= 0 || start > end || start > lines.length) { - // skip current region if invalid - continue; - } - lines[start - 1] = '' + lines[start - 1]; - lines[end - 1] = lines[end - 1] + ''; - } - - block.innerHTML = lines.join('\n'); - }); - } - - // Support full-text-search - function enableSearch() { - var query; - var relHref = $("meta[property='docfx\\:rel']").attr("content"); - if (typeof relHref === 'undefined') { - return; - } - try { - var worker = new Worker(relHref + 'styles/search-worker.min.js'); - if (!worker && !window.worker) { - localSearch(); - } else { - webWorkerSearch(); - } - - renderSearchBox(); - highlightKeywords(); - addSearchEvent(); - } catch (e) { - console.error(e); - } - - //Adjust the position of search box in navbar - function renderSearchBox() { - autoCollapse(); - $(window).on('resize', autoCollapse); - $(document).on('click', '.navbar-collapse.in', function (e) { - if ($(e.target).is('a')) { - $(this).collapse('hide'); - } - }); - - function autoCollapse() { - var navbar = $('#autocollapse'); - if (navbar.height() === null) { - setTimeout(autoCollapse, 300); - } - navbar.removeClass(collapsed); - if (navbar.height() > 60) { - navbar.addClass(collapsed); - } - } - } - - // Search factory - function localSearch() { - console.log("using local search"); - var lunrIndex = lunr(function () { - this.ref('href'); - this.field('title', { boost: 50 }); - this.field('keywords', { boost: 20 }); - }); - lunr.tokenizer.seperator = /[\s\-\.]+/; - var searchData = {}; - var searchDataRequest = new XMLHttpRequest(); - - var indexPath = relHref + "index.json"; - if (indexPath) { - searchDataRequest.open('GET', indexPath); - searchDataRequest.onload = function () { - if (this.status != 200) { - return; - } - searchData = JSON.parse(this.responseText); - for (var prop in searchData) { - if (searchData.hasOwnProperty(prop)) { - lunrIndex.add(searchData[prop]); - } - } - } - searchDataRequest.send(); - } - - $("body").bind("queryReady", function () { - var hits = lunrIndex.search(query); - var results = []; - hits.forEach(function (hit) { - var item = searchData[hit.ref]; - results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords }); - }); - handleSearchResults(results); - }); - } - - function webWorkerSearch() { - console.log("using Web Worker"); - var indexReady = $.Deferred(); - - worker.onmessage = function (oEvent) { - switch (oEvent.data.e) { - case 'index-ready': - indexReady.resolve(); - break; - case 'query-ready': - var hits = oEvent.data.d; - handleSearchResults(hits); - break; - } - } - - indexReady.promise().done(function () { - $("body").bind("queryReady", function () { - worker.postMessage({ q: query }); - }); - if (query && (query.length >= 3)) { - worker.postMessage({ q: query }); - } - }); - } - - // Highlight the searching keywords - function highlightKeywords() { - var q = url('?q'); - if (q) { - var keywords = q.split("%20"); - keywords.forEach(function (keyword) { - if (keyword !== "") { - $('.data-searchable *').mark(keyword); - $('article *').mark(keyword); - } - }); - } - } - - function addSearchEvent() { - $('body').bind("searchEvent", function () { - $('#search-query').keypress(function (e) { - return e.which !== 13; - }); - - $('#search-query').keyup(function () { - query = $(this).val(); - if (query.length < 3) { - flipContents("show"); - } else { - flipContents("hide"); - $("body").trigger("queryReady"); - $('#search-results>.search-list>span').text('"' + query + '"'); - } - }).off("keydown"); - }); - } - - function flipContents(action) { - if (action === "show") { - $('.hide-when-search').show(); - $('#search-results').hide(); - } else { - $('.hide-when-search').hide(); - $('#search-results').show(); - } - } - - function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) { - var currentItems = currentUrl.split(/\/+/); - var relativeItems = relativeUrl.split(/\/+/); - var depth = currentItems.length - 1; - var items = []; - for (var i = 0; i < relativeItems.length; i++) { - if (relativeItems[i] === '..') { - depth--; - } else if (relativeItems[i] !== '.') { - items.push(relativeItems[i]); - } - } - return currentItems.slice(0, depth).concat(items).join('/'); - } - - function extractContentBrief(content) { - var briefOffset = 512; - var words = query.split(/\s+/g); - var queryIndex = content.indexOf(words[0]); - var briefContent; - if (queryIndex > briefOffset) { - return "..." + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + "..."; - } else if (queryIndex <= briefOffset) { - return content.slice(0, queryIndex + briefOffset) + "..."; - } - } - - function handleSearchResults(hits) { - var numPerPage = 10; - var pagination = $('#pagination'); - pagination.empty(); - pagination.removeData("twbs-pagination"); - if (hits.length === 0) { - $('#search-results>.sr-items').html('

                                        No results found

                                        '); - } else { - pagination.twbsPagination({ - first: pagination.data('first'), - prev: pagination.data('prev'), - next: pagination.data('next'), - last: pagination.data('last'), - totalPages: Math.ceil(hits.length / numPerPage), - visiblePages: 5, - onPageClick: function (event, page) { - var start = (page - 1) * numPerPage; - var curHits = hits.slice(start, start + numPerPage); - $('#search-results>.sr-items').empty().append( - curHits.map(function (hit) { - var currentUrl = window.location.href; - var itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href); - var itemHref = relHref + hit.href + "?q=" + query; - var itemTitle = hit.title; - var itemBrief = extractContentBrief(hit.keywords); - - var itemNode = $('
                                        ').attr('class', 'sr-item'); - var itemTitleNode = $('
                                        ').attr('class', 'item-title').append($('').attr('href', itemHref).attr("target", "_blank").attr("rel", "noopener noreferrer").text(itemTitle)); - var itemHrefNode = $('
                                        ').attr('class', 'item-href').text(itemRawHref); - var itemBriefNode = $('
                                        ').attr('class', 'item-brief').text(itemBrief); - itemNode.append(itemTitleNode).append(itemHrefNode).append(itemBriefNode); - return itemNode; - }) - ); - query.split(/\s+/).forEach(function (word) { - if (word !== '') { - $('#search-results>.sr-items *').mark(word); - } - }); - } - }); - } - } - }; - - // Update href in navbar - function renderNavbar() { - var navbar = $('#navbar ul')[0]; - if (typeof (navbar) === 'undefined') { - loadNavbar(); - } else { - $('#navbar ul a.active').parents('li').addClass(active); - renderBreadcrumb(); - showSearch(); - } - - function showSearch() { - if ($('#search-results').length !== 0) { - $('#search').show(); - $('body').trigger("searchEvent"); - } - } - - function loadNavbar() { - var navbarPath = $("meta[property='docfx\\:navrel']").attr("content"); - if (!navbarPath) { - return; - } - navbarPath = navbarPath.replace(/\\/g, '/'); - var tocPath = $("meta[property='docfx\\:tocrel']").attr("content") || ''; - if (tocPath) tocPath = tocPath.replace(/\\/g, '/'); - $.get(navbarPath, function (data) { - $(data).find("#toc>ul").appendTo("#navbar"); - showSearch(); - var index = navbarPath.lastIndexOf('/'); - var navrel = ''; - if (index > -1) { - navrel = navbarPath.substr(0, index + 1); - } - $('#navbar>ul').addClass('navbar-nav'); - var currentAbsPath = util.getCurrentWindowAbsolutePath(); - // set active item - $('#navbar').find('a[href]').each(function (i, e) { - var href = $(e).attr("href"); - if (util.isRelativePath(href)) { - href = navrel + href; - $(e).attr("href", href); - - var isActive = false; - var originalHref = e.name; - if (originalHref) { - originalHref = navrel + originalHref; - if (util.getDirectory(util.getAbsolutePath(originalHref)) === util.getDirectory(util.getAbsolutePath(tocPath))) { - isActive = true; - } - } else { - if (util.getAbsolutePath(href) === currentAbsPath) { - var dropdown = $(e).attr('data-toggle') == "dropdown" - if (!dropdown) { - isActive = true; - } - } - } - if (isActive) { - $(e).addClass(active); - } - } - }); - renderNavbar(); - }); - } - } - - function renderSidebar() { - var sidetoc = $('#sidetoggle .sidetoc')[0]; - if (typeof (sidetoc) === 'undefined') { - loadToc(); - } else { - registerTocEvents(); - if ($('footer').is(':visible')) { - $('.sidetoc').addClass('shiftup'); - } - - // Scroll to active item - var top = 0; - $('#toc a.active').parents('li').each(function (i, e) { - $(e).addClass(active).addClass(expanded); - $(e).children('a').addClass(active); - }) - $('#toc a.active').parents('li').each(function (i, e) { - top += $(e).position().top; - }) - $('.sidetoc').scrollTop(top - 50); - - if ($('footer').is(':visible')) { - $('.sidetoc').addClass('shiftup'); - } - - renderBreadcrumb(); - } - - function registerTocEvents() { - var tocFilterInput = $('#toc_filter_input'); - var tocFilterClearButton = $('#toc_filter_clear'); - - $('.toc .nav > li > .expand-stub').click(function (e) { - $(e.target).parent().toggleClass(expanded); - }); - $('.toc .nav > li > .expand-stub + a:not([href])').click(function (e) { - $(e.target).parent().toggleClass(expanded); - }); - tocFilterInput.on('input', function (e) { - var val = this.value; - //Save filter string to local session storage - if (typeof(Storage) !== "undefined") { - try { - sessionStorage.filterString = val; - } - catch(e) - {} - } - if (val === '') { - // Clear 'filtered' class - $('#toc li').removeClass(filtered).removeClass(hide); - tocFilterClearButton.fadeOut(); - return; - } - tocFilterClearButton.fadeIn(); - - // set all parent nodes status - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length > 0 - }).each(function (i, anchor) { - var parent = $(anchor).parent(); - parent.addClass(hide); - parent.removeClass(show); - parent.removeClass(filtered); - }) - - // Get leaf nodes - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length === 0 - }).each(function (i, anchor) { - var text = $(anchor).attr('title'); - var parent = $(anchor).parent(); - var parentNodes = parent.parents('ul>li'); - for (var i = 0; i < parentNodes.length; i++) { - var parentText = $(parentNodes[i]).children('a').attr('title'); - if (parentText) text = parentText + '.' + text; - }; - if (filterNavItem(text, val)) { - parent.addClass(show); - parent.removeClass(hide); - } else { - parent.addClass(hide); - parent.removeClass(show); - } - }); - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length > 0 - }).each(function (i, anchor) { - var parent = $(anchor).parent(); - if (parent.find('li.show').length > 0) { - parent.addClass(show); - parent.addClass(filtered); - parent.removeClass(hide); - } else { - parent.addClass(hide); - parent.removeClass(show); - parent.removeClass(filtered); - } - }) - - function filterNavItem(name, text) { - if (!text) return true; - if (name && name.toLowerCase().indexOf(text.toLowerCase()) > -1) return true; - return false; - } - }); - - // toc filter clear button - tocFilterClearButton.hide(); - tocFilterClearButton.on("click", function(e){ - tocFilterInput.val(""); - tocFilterInput.trigger('input'); - if (typeof(Storage) !== "undefined") { - try { - sessionStorage.filterString = ""; - } - catch(e) - {} - } - }); - - //Set toc filter from local session storage on page load - if (typeof(Storage) !== "undefined") { - try { - tocFilterInput.val(sessionStorage.filterString); - tocFilterInput.trigger('input'); - } - catch(e) - {} - } - } - - function loadToc() { - var tocPath = $("meta[property='docfx\\:tocrel']").attr("content"); - if (!tocPath) { - return; - } - tocPath = tocPath.replace(/\\/g, '/'); - $('#sidetoc').load(tocPath + " #sidetoggle > div", function () { - var index = tocPath.lastIndexOf('/'); - var tocrel = ''; - if (index > -1) { - tocrel = tocPath.substr(0, index + 1); - } - var currentHref = util.getCurrentWindowAbsolutePath(); - if(!currentHref.endsWith('.html')) { - currentHref += '.html'; - } - $('#sidetoc').find('a[href]').each(function (i, e) { - var href = $(e).attr("href"); - if (util.isRelativePath(href)) { - href = tocrel + href; - $(e).attr("href", href); - } - - if (util.getAbsolutePath(e.href) === currentHref) { - $(e).addClass(active); - } - - $(e).breakWord(); - }); - - renderSidebar(); - }); - } - } - - function renderBreadcrumb() { - var breadcrumb = []; - $('#navbar a.active').each(function (i, e) { - breadcrumb.push({ - href: e.href, - name: e.innerHTML - }); - }) - $('#toc a.active').each(function (i, e) { - breadcrumb.push({ - href: e.href, - name: e.innerHTML - }); - }) - - var html = util.formList(breadcrumb, 'breadcrumb'); - $('#breadcrumb').html(html); - } - - //Setup Affix - function renderAffix() { - var hierarchy = getHierarchy(); - if (!hierarchy || hierarchy.length <= 0) { - $("#affix").hide(); - } - else { - var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']); - $("#affix>div").empty().append(html); - if ($('footer').is(':visible')) { - $(".sideaffix").css("bottom", "70px"); - } - $('#affix a').click(function(e) { - var scrollspy = $('[data-spy="scroll"]').data()['bs.scrollspy']; - var target = e.target.hash; - if (scrollspy && target) { - scrollspy.activate(target); - } - }); - } - - function getHierarchy() { - // supported headers are h1, h2, h3, and h4 - var $headers = $($.map(['h1', 'h2', 'h3', 'h4'], function (h) { return ".article article " + h; }).join(", ")); - - // a stack of hierarchy items that are currently being built - var stack = []; - $headers.each(function (i, e) { - if (!e.id) { - return; - } - - var item = { - name: htmlEncode($(e).text()), - href: "#" + e.id, - items: [] - }; - - if (!stack.length) { - stack.push({ type: e.tagName, siblings: [item] }); - return; - } - - var frame = stack[stack.length - 1]; - if (e.tagName === frame.type) { - frame.siblings.push(item); - } else if (e.tagName[1] > frame.type[1]) { - // we are looking at a child of the last element of frame.siblings. - // push a frame onto the stack. After we've finished building this item's children, - // we'll attach it as a child of the last element - stack.push({ type: e.tagName, siblings: [item] }); - } else { // e.tagName[1] < frame.type[1] - // we are looking at a sibling of an ancestor of the current item. - // pop frames from the stack, building items as we go, until we reach the correct level at which to attach this item. - while (e.tagName[1] < stack[stack.length - 1].type[1]) { - buildParent(); - } - if (e.tagName === stack[stack.length - 1].type) { - stack[stack.length - 1].siblings.push(item); - } else { - stack.push({ type: e.tagName, siblings: [item] }); - } - } - }); - while (stack.length > 1) { - buildParent(); - } - - function buildParent() { - var childrenToAttach = stack.pop(); - var parentFrame = stack[stack.length - 1]; - var parent = parentFrame.siblings[parentFrame.siblings.length - 1]; - $.each(childrenToAttach.siblings, function (i, child) { - parent.items.push(child); - }); - } - if (stack.length > 0) { - - var topLevel = stack.pop().siblings; - if (topLevel.length === 1) { // if there's only one topmost header, dump it - return topLevel[0].items; - } - return topLevel; - } - return undefined; - } - - function htmlEncode(str) { - if (!str) return str; - return str - .replace(/&/g, '&') - .replace(/"/g, '"') - .replace(/'/g, ''') - .replace(//g, '>'); - } - - function htmlDecode(value) { - if (!str) return str; - return value - .replace(/"/g, '"') - .replace(/'/g, "'") - .replace(/</g, '<') - .replace(/>/g, '>') - .replace(/&/g, '&'); - } - - function cssEscape(str) { - // see: http://stackoverflow.com/questions/2786538/need-to-escape-a-special-character-in-a-jquery-selector-string#answer-2837646 - if (!str) return str; - return str - .replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\$&"); - } - } - - // Show footer - function renderFooter() { - initFooter(); - $(window).on("scroll", showFooterCore); - - function initFooter() { - if (needFooter()) { - shiftUpBottomCss(); - $("footer").show(); - } else { - resetBottomCss(); - $("footer").hide(); - } - } - - function showFooterCore() { - if (needFooter()) { - shiftUpBottomCss(); - $("footer").fadeIn(); - } else { - resetBottomCss(); - $("footer").fadeOut(); - } - } - - function needFooter() { - var scrollHeight = $(document).height(); - var scrollPosition = $(window).height() + $(window).scrollTop(); - return (scrollHeight - scrollPosition) < 1; - } - - function resetBottomCss() { - $(".sidetoc").removeClass("shiftup"); - $(".sideaffix").removeClass("shiftup"); - } - - function shiftUpBottomCss() { - $(".sidetoc").addClass("shiftup"); - $(".sideaffix").addClass("shiftup"); - } - } - - function renderLogo() { - // For LOGO SVG - // Replace SVG with inline SVG - // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement - jQuery('img.svg').each(function () { - var $img = jQuery(this); - var imgID = $img.attr('id'); - var imgClass = $img.attr('class'); - var imgURL = $img.attr('src'); - - jQuery.get(imgURL, function (data) { - // Get the SVG tag, ignore the rest - var $svg = jQuery(data).find('svg'); - - // Add replaced image's ID to the new SVG - if (typeof imgID !== 'undefined') { - $svg = $svg.attr('id', imgID); - } - // Add replaced image's classes to the new SVG - if (typeof imgClass !== 'undefined') { - $svg = $svg.attr('class', imgClass + ' replaced-svg'); - } - - // Remove any invalid XML tags as per http://validator.w3.org - $svg = $svg.removeAttr('xmlns:a'); - - // Replace image with new SVG - $img.replaceWith($svg); - - }, 'xml'); - }); - } - - function renderTabs() { - var contentAttrs = { - id: 'data-bi-id', - name: 'data-bi-name', - type: 'data-bi-type' - }; - - var Tab = (function () { - function Tab(li, a, section) { - this.li = li; - this.a = a; - this.section = section; - } - Object.defineProperty(Tab.prototype, "tabIds", { - get: function () { return this.a.getAttribute('data-tab').split(' '); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "condition", { - get: function () { return this.a.getAttribute('data-condition'); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "visible", { - get: function () { return !this.li.hasAttribute('hidden'); }, - set: function (value) { - if (value) { - this.li.removeAttribute('hidden'); - this.li.removeAttribute('aria-hidden'); - } - else { - this.li.setAttribute('hidden', 'hidden'); - this.li.setAttribute('aria-hidden', 'true'); - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "selected", { - get: function () { return !this.section.hasAttribute('hidden'); }, - set: function (value) { - if (value) { - this.a.setAttribute('aria-selected', 'true'); - this.a.tabIndex = 0; - this.section.removeAttribute('hidden'); - this.section.removeAttribute('aria-hidden'); - } - else { - this.a.setAttribute('aria-selected', 'false'); - this.a.tabIndex = -1; - this.section.setAttribute('hidden', 'hidden'); - this.section.setAttribute('aria-hidden', 'true'); - } - }, - enumerable: true, - configurable: true - }); - Tab.prototype.focus = function () { - this.a.focus(); - }; - return Tab; - }()); - - initTabs(document.body); - - function initTabs(container) { - var queryStringTabs = readTabsQueryStringParam(); - var elements = container.querySelectorAll('.tabGroup'); - var state = { groups: [], selectedTabs: [] }; - for (var i = 0; i < elements.length; i++) { - var group = initTabGroup(elements.item(i)); - if (!group.independent) { - updateVisibilityAndSelection(group, state); - state.groups.push(group); - } - } - container.addEventListener('click', function (event) { return handleClick(event, state); }); - if (state.groups.length === 0) { - return state; - } - selectTabs(queryStringTabs, container); - updateTabsQueryStringParam(state); - notifyContentUpdated(); - return state; - } - - function initTabGroup(element) { - var group = { - independent: element.hasAttribute('data-tab-group-independent'), - tabs: [] - }; - var li = element.firstElementChild.firstElementChild; - while (li) { - var a = li.firstElementChild; - a.setAttribute(contentAttrs.name, 'tab'); - var dataTab = a.getAttribute('data-tab').replace(/\+/g, ' '); - a.setAttribute('data-tab', dataTab); - var section = element.querySelector("[id=\"" + a.getAttribute('aria-controls') + "\"]"); - var tab = new Tab(li, a, section); - group.tabs.push(tab); - li = li.nextElementSibling; - } - element.setAttribute(contentAttrs.name, 'tab-group'); - element.tabGroup = group; - return group; - } - - function updateVisibilityAndSelection(group, state) { - var anySelected = false; - var firstVisibleTab; - for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { - var tab = _a[_i]; - tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1; - if (tab.visible) { - if (!firstVisibleTab) { - firstVisibleTab = tab; - } - } - tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds); - anySelected = anySelected || tab.selected; - } - if (!anySelected) { - for (var _b = 0, _c = group.tabs; _b < _c.length; _b++) { - var tabIds = _c[_b].tabIds; - for (var _d = 0, tabIds_1 = tabIds; _d < tabIds_1.length; _d++) { - var tabId = tabIds_1[_d]; - var index = state.selectedTabs.indexOf(tabId); - if (index === -1) { - continue; - } - state.selectedTabs.splice(index, 1); - } - } - var tab = firstVisibleTab; - tab.selected = true; - state.selectedTabs.push(tab.tabIds[0]); - } - } - - function getTabInfoFromEvent(event) { - if (!(event.target instanceof HTMLElement)) { - return null; - } - var anchor = event.target.closest('a[data-tab]'); - if (anchor === null) { - return null; - } - var tabIds = anchor.getAttribute('data-tab').split(' '); - var group = anchor.parentElement.parentElement.parentElement.tabGroup; - if (group === undefined) { - return null; - } - return { tabIds: tabIds, group: group, anchor: anchor }; - } - - function handleClick(event, state) { - var info = getTabInfoFromEvent(event); - if (info === null) { - return; - } - event.preventDefault(); - info.anchor.href = 'javascript:'; - setTimeout(function () { return info.anchor.href = '#' + info.anchor.getAttribute('aria-controls'); }); - var tabIds = info.tabIds, group = info.group; - var originalTop = info.anchor.getBoundingClientRect().top; - if (group.independent) { - for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { - var tab = _a[_i]; - tab.selected = arraysIntersect(tab.tabIds, tabIds); - } - } - else { - if (arraysIntersect(state.selectedTabs, tabIds)) { - return; - } - var previousTabId = group.tabs.filter(function (t) { return t.selected; })[0].tabIds[0]; - state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]); - for (var _b = 0, _c = state.groups; _b < _c.length; _b++) { - var group_1 = _c[_b]; - updateVisibilityAndSelection(group_1, state); - } - updateTabsQueryStringParam(state); - } - notifyContentUpdated(); - var top = info.anchor.getBoundingClientRect().top; - if (top !== originalTop && event instanceof MouseEvent) { - window.scrollTo(0, window.pageYOffset + top - originalTop); - } - } - - function selectTabs(tabIds) { - for (var _i = 0, tabIds_1 = tabIds; _i < tabIds_1.length; _i++) { - var tabId = tabIds_1[_i]; - var a = document.querySelector(".tabGroup > ul > li > a[data-tab=\"" + tabId + "\"]:not([hidden])"); - if (a === null) { - return; - } - a.dispatchEvent(new CustomEvent('click', { bubbles: true })); - } - } - - function readTabsQueryStringParam() { - var qs = parseQueryString(window.location.search); - var t = qs.tabs; - if (t === undefined || t === '') { - return []; - } - return t.split(','); - } - - function updateTabsQueryStringParam(state) { - var qs = parseQueryString(window.location.search); - qs.tabs = state.selectedTabs.join(); - var url = location.protocol + "//" + location.host + location.pathname + "?" + toQueryString(qs) + location.hash; - if (location.href === url) { - return; - } - history.replaceState({}, document.title, url); - } - - function toQueryString(args) { - var parts = []; - for (var name_1 in args) { - if (args.hasOwnProperty(name_1) && args[name_1] !== '' && args[name_1] !== null && args[name_1] !== undefined) { - parts.push(encodeURIComponent(name_1) + '=' + encodeURIComponent(args[name_1])); - } - } - return parts.join('&'); - } - - function parseQueryString(queryString) { - var match; - var pl = /\+/g; - var search = /([^&=]+)=?([^&]*)/g; - var decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')); }; - if (queryString === undefined) { - queryString = ''; - } - queryString = queryString.substring(1); - var urlParams = {}; - while (match = search.exec(queryString)) { - urlParams[decode(match[1])] = decode(match[2]); - } - return urlParams; - } - - function arraysIntersect(a, b) { - for (var _i = 0, a_1 = a; _i < a_1.length; _i++) { - var itemA = a_1[_i]; - for (var _a = 0, b_1 = b; _a < b_1.length; _a++) { - var itemB = b_1[_a]; - if (itemA === itemB) { - return true; - } - } - } - return false; - } - - function notifyContentUpdated() { - // Dispatch this event when needed - // window.dispatchEvent(new CustomEvent('content-update')); - } - } - - function utility() { - this.getAbsolutePath = getAbsolutePath; - this.isRelativePath = isRelativePath; - this.isAbsolutePath = isAbsolutePath; - this.getCurrentWindowAbsolutePath = getCurrentWindowAbsolutePath; - this.getDirectory = getDirectory; - this.formList = formList; - - function getAbsolutePath(href) { - if (isAbsolutePath(href)) return href; - var currentAbsPath = getCurrentWindowAbsolutePath(); - var stack = currentAbsPath.split("/"); - stack.pop(); - var parts = href.split("/"); - for (var i=0; i< parts.length; i++) { - if (parts[i] == ".") continue; - if (parts[i] == ".." && stack.length > 0) - stack.pop(); - else - stack.push(parts[i]); - } - var p = stack.join("/"); - return p; - } - - function isRelativePath(href) { - if (href === undefined || href === '' || href[0] === '/') { - return false; - } - return !isAbsolutePath(href); - } - - function isAbsolutePath(href) { - return (/^(?:[a-z]+:)?\/\//i).test(href); - } - - function getCurrentWindowAbsolutePath() { - return window.location.origin + window.location.pathname; - } - function getDirectory(href) { - if (!href) return ''; - var index = href.lastIndexOf('/'); - if (index == -1) return ''; - if (index > -1) { - return href.substr(0, index); - } - } - - function formList(item, classes) { - var level = 1; - var model = { - items: item - }; - var cls = [].concat(classes).join(" "); - return getList(model, cls); - - function getList(model, cls) { - if (!model || !model.items) return null; - var l = model.items.length; - if (l === 0) return null; - var html = ''; - return html; - } - } - - /** - * Add into long word. - * @param {String} text - The word to break. It should be in plain text without HTML tags. - */ - function breakPlainText(text) { - if (!text) return text; - return text.replace(/([a-z])([A-Z])|(\.)(\w)/g, '$1$3$2$4') - } - - /** - * Add into long word. The jQuery element should contain no html tags. - * If the jQuery element contains tags, this function will not change the element. - */ - $.fn.breakWord = function () { - if (!this.html().match(/(<\w*)((\s\/>)|(.*<\/\w*>))/g)) { - this.html(function (index, text) { - return breakPlainText(text); - }) - } - return this; - } - } - - // adjusted from https://stackoverflow.com/a/13067009/1523776 - function workAroundFixedHeaderForAnchors() { - var HISTORY_SUPPORT = !!(history && history.pushState); - var ANCHOR_REGEX = /^#[^ ]+$/; - - function getFixedOffset() { - return $('header').first().height(); - } - - /** - * If the provided href is an anchor which resolves to an element on the - * page, scroll to it. - * @param {String} href - * @return {Boolean} - Was the href an anchor. - */ - function scrollIfAnchor(href, pushToHistory) { - var match, rect, anchorOffset; - - if (!ANCHOR_REGEX.test(href)) { - return false; - } - - match = document.getElementById(href.slice(1)); - - if (match) { - rect = match.getBoundingClientRect(); - anchorOffset = window.pageYOffset + rect.top - getFixedOffset(); - window.scrollTo(window.pageXOffset, anchorOffset); - - // Add the state to history as-per normal anchor links - if (HISTORY_SUPPORT && pushToHistory) { - history.pushState({}, document.title, location.pathname + href); - } - } - - return !!match; - } - - /** - * Attempt to scroll to the current location's hash. - */ - function scrollToCurrent() { - scrollIfAnchor(window.location.hash); - } - - /** - * If the click event's target was an anchor, fix the scroll position. - */ - function delegateAnchors(e) { - var elem = e.target; - - if (scrollIfAnchor(elem.getAttribute('href'), true)) { - e.preventDefault(); - } - } - - $(window).on('hashchange', scrollToCurrent); - - $(window).on('load', function () { - // scroll to the anchor if present, offset by the header - scrollToCurrent(); - }); - - $(document).ready(function () { - // Exclude tabbed content case - $('a:not([data-tab])').click(function (e) { delegateAnchors(e); }); - }); - } -}); diff --git a/_site/styles/docfx.vendor.min.css b/_site/styles/docfx.vendor.min.css deleted file mode 100644 index b809553..0000000 --- a/_site/styles/docfx.vendor.min.css +++ /dev/null @@ -1,25 +0,0 @@ -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*,*:before,*:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(./glyphicons-halflings-regular-PIHUWCJO.eot);src:url(./glyphicons-halflings-regular-PIHUWCJO.eot?#iefix) format("embedded-opentype"),url(./glyphicons-halflings-regular-W4DYDFZM.woff2) format("woff2"),url(./glyphicons-halflings-regular-JOUF32XT.woff) format("woff"),url(./glyphicons-halflings-regular-ACNUA6UY.ttf) format("truetype"),url(./glyphicons-halflings-regular-QXYEM3FU.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"*"}.glyphicon-plus:before{content:"+"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\a5"}.glyphicon-jpy:before{content:"\a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014\a0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eeeeee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\a0\2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px #00000040}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \ ;line-height:normal}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px #00000013;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month]{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \ ;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px #00000013}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px #00000013,0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px #00000013}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px #00000013,0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px #00000013}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px #00000013,0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \ ;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px #0000002d}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;inset:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \ }.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width: 768px){.navbar{border-radius:4px}}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff1a;-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin:8px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff1a,0 1px #ffffff1a}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width: 768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px #0000001a}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px #00000026;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px #0000000d}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px #0000000d}.well blockquote{border-color:#ddd;border-color:#00000026}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;inset:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px #00000080;outline:0}.modal-backdrop{position:fixed;inset:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:#00000040;border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:#00000040;border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:#00000040}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:#00000040}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:#0000;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0%,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0%,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0%,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0%,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0%,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0%,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \ ;background-color:#0000;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width: 767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width: 767px){.visible-xs-block{display:block!important}}@media (max-width: 767px){.visible-xs-inline{display:inline!important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block!important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline!important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block!important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline!important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width: 1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width: 1200px){.visible-lg-block{display:block!important}}@media (min-width: 1200px){.visible-lg-inline{display:inline!important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width: 767px){.hidden-xs{display:none!important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none!important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none!important}}@media (min-width: 1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} -/*! Bundled license information: - -@default/bootstrap/dist/css/bootstrap.css: - (*! - * Bootstrap v3.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *) - (*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css *) - (*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css *) - -@default/highlight.js/styles/github.css: - (*! - Theme: GitHub - Description: Light theme as seen on github.com - Author: github.com - Maintainer: @Hirse - Updated: 2021-05-15 - - Outdated base version: https://github.com/primer/github-syntax-light - Current colors taken from GitHub's CSS - *) -*/ -/*# sourceMappingURL=docfx.vendor.min.css.map */ diff --git a/_site/styles/docfx.vendor.min.css.map b/_site/styles/docfx.vendor.min.css.map deleted file mode 100644 index bb876b1..0000000 --- a/_site/styles/docfx.vendor.min.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../node_modules/@default/bootstrap/dist/css/bootstrap.css", "../../node_modules/@default/bootstrap/dist/css/less/normalize.less", "../../node_modules/@default/bootstrap/dist/css/less/print.less", "../../node_modules/@default/bootstrap/dist/css/less/glyphicons.less", "../../node_modules/@default/bootstrap/dist/css/less/scaffolding.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/vendor-prefixes.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/tab-focus.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/image.less", "../../node_modules/@default/bootstrap/dist/css/less/type.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/text-emphasis.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/background-variant.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/text-overflow.less", "../../node_modules/@default/bootstrap/dist/css/less/code.less", "../../node_modules/@default/bootstrap/dist/css/less/grid.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/grid.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/grid-framework.less", "../../node_modules/@default/bootstrap/dist/css/less/tables.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/table-row.less", "../../node_modules/@default/bootstrap/dist/css/less/forms.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/forms.less", "../../node_modules/@default/bootstrap/dist/css/less/buttons.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/buttons.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/opacity.less", "../../node_modules/@default/bootstrap/dist/css/less/component-animations.less", "../../node_modules/@default/bootstrap/dist/css/less/dropdowns.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/nav-divider.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/reset-filter.less", "../../node_modules/@default/bootstrap/dist/css/less/button-groups.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/border-radius.less", "../../node_modules/@default/bootstrap/dist/css/less/input-groups.less", "../../node_modules/@default/bootstrap/dist/css/less/navs.less", "../../node_modules/@default/bootstrap/dist/css/less/navbar.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/nav-vertical-align.less", "../../node_modules/@default/bootstrap/dist/css/less/utilities.less", "../../node_modules/@default/bootstrap/dist/css/less/breadcrumbs.less", "../../node_modules/@default/bootstrap/dist/css/less/pagination.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/pagination.less", "../../node_modules/@default/bootstrap/dist/css/less/pager.less", "../../node_modules/@default/bootstrap/dist/css/less/labels.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/labels.less", "../../node_modules/@default/bootstrap/dist/css/less/badges.less", "../../node_modules/@default/bootstrap/dist/css/less/jumbotron.less", "../../node_modules/@default/bootstrap/dist/css/less/thumbnails.less", "../../node_modules/@default/bootstrap/dist/css/less/alerts.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/alerts.less", "../../node_modules/@default/bootstrap/dist/css/less/progress-bars.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/gradients.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/progress-bar.less", "../../node_modules/@default/bootstrap/dist/css/less/media.less", "../../node_modules/@default/bootstrap/dist/css/less/list-group.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/list-group.less", "../../node_modules/@default/bootstrap/dist/css/less/panels.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/panels.less", "../../node_modules/@default/bootstrap/dist/css/less/responsive-embed.less", "../../node_modules/@default/bootstrap/dist/css/less/wells.less", "../../node_modules/@default/bootstrap/dist/css/less/close.less", "../../node_modules/@default/bootstrap/dist/css/less/modals.less", "../../node_modules/@default/bootstrap/dist/css/less/tooltip.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/reset-text.less", "../../node_modules/@default/bootstrap/dist/css/less/popovers.less", "../../node_modules/@default/bootstrap/dist/css/less/carousel.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/clearfix.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/center-block.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/hide-text.less", "../../node_modules/@default/bootstrap/dist/css/less/responsive-utilities.less", "../../node_modules/@default/bootstrap/dist/css/less/mixins/responsive-visibility.less", "../../node_modules/@default/highlight.js/styles/github.css"], - "sourcesContent": ["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */", "// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n", "// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n}\n", "// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newline-after, font-family-no-missing-generic-family-keyword\n\n//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"@{icon-font-path}@{icon-font-name}.eot\");\n src: url(\"@{icon-font-path}@{icon-font-name}.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff2\") format(\"woff2\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff\") format(\"woff\"),\n url(\"@{icon-font-path}@{icon-font-name}.ttf\") format(\"truetype\"),\n url(\"@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}\") format(\"svg\");\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n", "//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n", "// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n", "// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n", "// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n", "// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: 400;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n padding: .2em;\n background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: \"\"; }\n &:after {\n content: \"\\00A0 \\2014\"; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n", "// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n", "// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n", "// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n", "//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n color: @pre-color;\n word-break: break-all;\n word-wrap: break-word;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n", "//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n", "// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n padding-right: ceil((@gutter / 2));\n padding-left: floor((@gutter / 2));\n margin-right: auto;\n margin-left: auto;\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-right: floor((@gutter / -2));\n margin-left: ceil((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n", "// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-right: floor((@grid-gutter-width / 2));\n padding-left: ceil((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n", "// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n\n // Table cell sizing\n //\n // Reset default table behavior\n\n col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-column;\n float: none;\n }\n\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-cell;\n float: none;\n }\n }\n}\n\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\n\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n overflow-x: auto;\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * .75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n", "// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n", "// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n // Override content-box in Normalize (* isn't specific enough)\n .box-sizing(border-box);\n\n // Search inputs in iOS\n //\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n -webkit-appearance: none;\n appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n\n // Apply same disabled cursor tweak as for inputs\n // Some special care is needed because